diff --git a/bundles.yaml b/bundles.yaml index 9165fa3a..c0dc6fb4 100644 --- a/bundles.yaml +++ b/bundles.yaml @@ -274,3 +274,5 @@ images: version: 4.10.1 - image: registry.redhat.io/advanced-cluster-security/rhacs-operator-bundle@sha256:630856aa5a1df361ff2b32ca7a9d14e18fc16d850fa543e89126e42cba30a66f version: 4.10.2 + - image: quay.io/rhacs-eng/release-operator-bundle@sha256:a0934f6fcb717f45dcd6408982f6c6d4f220ba4ea37cee768eae55878efc4449 + version: 4.10.3-rc.1 diff --git a/catalog-bundle-object/rhacs-operator/catalog.json b/catalog-bundle-object/rhacs-operator/catalog.json index b54a6b5d..6dca911f 100644 --- a/catalog-bundle-object/rhacs-operator/catalog.json +++ b/catalog-bundle-object/rhacs-operator/catalog.json @@ -2056,6 +2056,11 @@ "name": "rhacs-operator.v4.10.2", "replaces": "rhacs-operator.v4.10.1", "skipRange": ">= 4.9.0 < 4.10.2" + }, + { + "name": "rhacs-operator.v4.10.3-rc.1", + "replaces": "rhacs-operator.v4.10.2", + "skipRange": ">= 4.9.0 < 4.10.3-rc.1" } ] } @@ -4680,6 +4685,11 @@ "name": "rhacs-operator.v4.10.2", "replaces": "rhacs-operator.v4.10.1", "skipRange": ">= 4.9.0 < 4.10.2" + }, + { + "name": "rhacs-operator.v4.10.3-rc.1", + "replaces": "rhacs-operator.v4.10.2", + "skipRange": ">= 4.9.0 < 4.10.3-rc.1" } ] } @@ -12355,6 +12365,135 @@ } ] } +{ + "schema": "olm.bundle", + "name": "rhacs-operator.v4.10.3-rc.1", + "package": "rhacs-operator", + "image": "quay.io/rhacs-eng/release-operator-bundle@sha256:a0934f6fcb717f45dcd6408982f6c6d4f220ba4ea37cee768eae55878efc4449", + "properties": [ + { + "type": "olm.gvk", + "value": { + "group": "config.stackrox.io", + "kind": "SecurityPolicy", + "version": "v1alpha1" + } + }, + { + "type": "olm.gvk", + "value": { + "group": "platform.stackrox.io", + "kind": "Central", + "version": "v1alpha1" + } + }, + { + "type": "olm.gvk", + "value": { + "group": "platform.stackrox.io", + "kind": "SecuredCluster", + "version": "v1alpha1" + } + }, + { + "type": "olm.package", + "value": { + "packageName": "rhacs-operator", + "version": "4.10.3-rc.1" + } + }, + { + "type": "olm.bundle.object", + "value": { + "data": "eyJhcGlWZXJzaW9uIjoiYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEiLCJraW5kIjoiQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uIiwibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsiY29udHJvbGxlci1nZW4ua3ViZWJ1aWxkZXIuaW8vdmVyc2lvbiI6InYwLjIwLjAifSwiY3JlYXRpb25UaW1lc3RhbXAiOm51bGwsImxhYmVscyI6eyJhcHAiOiJyaGFjcy1vcGVyYXRvciJ9LCJuYW1lIjoiY2VudHJhbHMucGxhdGZvcm0uc3RhY2tyb3guaW8ifSwic3BlYyI6eyJncm91cCI6InBsYXRmb3JtLnN0YWNrcm94LmlvIiwibmFtZXMiOnsia2luZCI6IkNlbnRyYWwiLCJsaXN0S2luZCI6IkNlbnRyYWxMaXN0IiwicGx1cmFsIjoiY2VudHJhbHMiLCJzaW5ndWxhciI6ImNlbnRyYWwifSwic2NvcGUiOiJOYW1lc3BhY2VkIiwidmVyc2lvbnMiOlt7ImFkZGl0aW9uYWxQcmludGVyQ29sdW1ucyI6W3sianNvblBhdGgiOiIuc3RhdHVzLnByb2R1Y3RWZXJzaW9uIiwibmFtZSI6IlZlcnNpb24iLCJ0eXBlIjoic3RyaW5nIn0seyJqc29uUGF0aCI6Ii5zdGF0dXMuY2VudHJhbC5hZG1pblBhc3N3b3JkLmFkbWluUGFzc3dvcmRTZWNyZXRSZWZlcmVuY2UiLCJuYW1lIjoiQWRtaW5QYXNzd29yZCIsInR5cGUiOiJzdHJpbmcifSx7Impzb25QYXRoIjoiLnN0YXR1cy5jb25kaXRpb25zWz8oQC50eXBlPT1cIkRlcGxveWVkXCIpXS5tZXNzYWdlIiwibmFtZSI6Ik1lc3NhZ2UiLCJ0eXBlIjoic3RyaW5nIn0seyJqc29uUGF0aCI6Ii5zdGF0dXMuY29uZGl0aW9uc1s/KEAudHlwZT09XCJQcm9ncmVzc2luZ1wiKV0uc3RhdHVzIiwibmFtZSI6IlByb2dyZXNzaW5nIiwidHlwZSI6InN0cmluZyJ9LHsianNvblBhdGgiOiIuc3RhdHVzLmNvbmRpdGlvbnNbPyhALnR5cGU9PVwiQXZhaWxhYmxlXCIpXS5zdGF0dXMiLCJuYW1lIjoiQXZhaWxhYmxlIiwidHlwZSI6InN0cmluZyJ9XSwibmFtZSI6InYxYWxwaGExIiwic2NoZW1hIjp7Im9wZW5BUElWM1NjaGVtYSI6eyJkZXNjcmlwdGlvbiI6IkNlbnRyYWwgaXMgdGhlIGNvbmZpZ3VyYXRpb24gdGVtcGxhdGUgZm9yIHRoZSBjZW50cmFsIHNlcnZpY2VzLiBUaGlzIGluY2x1ZGVzIHRoZSBBUEkgc2VydmVyLCBwZXJzaXN0ZW50IHN0b3JhZ2UsXG5hbmQgdGhlIHdlYiBVSSwgYXMgd2VsbCBhcyB0aGUgaW1hZ2Ugc2Nhbm5lci4iLCJwcm9wZXJ0aWVzIjp7ImFwaVZlcnNpb24iOnsiZGVzY3JpcHRpb24iOiJBUElWZXJzaW9uIGRlZmluZXMgdGhlIHZlcnNpb25lZCBzY2hlbWEgb2YgdGhpcyByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmplY3QuXG5TZXJ2ZXJzIHNob3VsZCBjb252ZXJ0IHJlY29nbml6ZWQgc2NoZW1hcyB0byB0aGUgbGF0ZXN0IGludGVybmFsIHZhbHVlLCBhbmRcbm1heSByZWplY3QgdW5yZWNvZ25pemVkIHZhbHVlcy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjcmVzb3VyY2VzIiwidHlwZSI6InN0cmluZyJ9LCJraW5kIjp7ImRlc2NyaXB0aW9uIjoiS2luZCBpcyBhIHN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIFJFU1QgcmVzb3VyY2UgdGhpcyBvYmplY3QgcmVwcmVzZW50cy5cblNlcnZlcnMgbWF5IGluZmVyIHRoaXMgZnJvbSB0aGUgZW5kcG9pbnQgdGhlIGNsaWVudCBzdWJtaXRzIHJlcXVlc3RzIHRvLlxuQ2Fubm90IGJlIHVwZGF0ZWQuXG5JbiBDYW1lbENhc2UuXG5Nb3JlIGluZm86IGh0dHBzOi8vZ2l0Lms4cy5pby9jb21tdW5pdHkvY29udHJpYnV0b3JzL2RldmVsL3NpZy1hcmNoaXRlY3R1cmUvYXBpLWNvbnZlbnRpb25zLm1kI3R5cGVzLWtpbmRzIiwidHlwZSI6InN0cmluZyJ9LCJtZXRhZGF0YSI6eyJ0eXBlIjoib2JqZWN0In0sInNwZWMiOnsiZGVzY3JpcHRpb24iOiJDZW50cmFsU3BlYyBkZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIENlbnRyYWwiLCJwcm9wZXJ0aWVzIjp7ImNlbnRyYWwiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIENlbnRyYWwgY29tcG9uZW50LCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgYWxsIHVzZXIgaW50ZXJhY3Rpb24uIiwicHJvcGVydGllcyI6eyJhZG1pblBhc3N3b3JkR2VuZXJhdGlvbkRpc2FibGVkIjp7ImRlc2NyaXB0aW9uIjoiRGlzYWJsZSBhZG1pbiBwYXNzd29yZCBnZW5lcmF0aW9uLiBEbyBub3QgdXNlIHRoaXMgZm9yIGZpcnN0LXRpbWUgaW5zdGFsbGF0aW9ucyxcbmFzIHlvdSB3aWxsIGhhdmUgbm8gd2F5IHRvIHBlcmZvcm0gaW5pdGlhbCBzZXR1cCBhbmQgY29uZmlndXJhdGlvbiBvZiBhbHRlcm5hdGl2ZSBhdXRoZW50aWNhdGlvbiBtZXRob2RzLiIsInR5cGUiOiJib29sZWFuIn0sImFkbWluUGFzc3dvcmRTZWNyZXQiOnsiZGVzY3JpcHRpb24iOiJTcGVjaWZ5IGEgc2VjcmV0IHRoYXQgY29udGFpbnMgdGhlIGFkbWluaXN0cmF0b3IgcGFzc3dvcmQgaW4gdGhlIFwicGFzc3dvcmRcIiBkYXRhIGl0ZW0uXG5JZiBvbWl0dGVkLCB0aGUgb3BlcmF0b3Igd2lsbCBhdXRvLWdlbmVyYXRlIGEgcGFzc3dvcmQgYW5kIHN0b3JlIGl0IGluIHRoZSBcInBhc3N3b3JkXCIgaXRlbVxuaW4gdGhlIFwiY2VudHJhbC1odHBhc3N3ZFwiIHNlY3JldC4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBzZWNyZXQuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sImRiIjp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIENlbnRyYWwgREIsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBkYXRhIHBlcnNpc3RlbmNlLiIsInByb3BlcnRpZXMiOnsiY29uZmlnT3ZlcnJpZGUiOnsiZGVzY3JpcHRpb24iOiJDb25maWcgbWFwIGNvbnRhaW5pbmcgcG9zdGdyZXNxbC5jb25mIGFuZCBwZ19oYmEuY29uZiB0aGF0IHdpbGwgYmUgdXNlZCBpZiBtb2RpZmljYXRpb25zIG5lZWQgdG8gYmUgYXBwbGllZC4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBjb25maWcgbWFwLiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJjb25uZWN0aW9uUG9vbFNpemUiOnsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIHRoZSBkYXRhYmFzZSBjb25uZWN0aW9uIHBvb2wgc2l6ZS4iLCJwcm9wZXJ0aWVzIjp7Im1heENvbm5lY3Rpb25zIjp7ImRlc2NyaXB0aW9uIjoiTWF4aW11bSBudW1iZXIgb2YgY29ubmVjdGlvbnMgaW4gdGhlIGNvbm5lY3Rpb24gcG9vbC5cblRoZSBkZWZhdWx0IGlzOiA5MC4iLCJmb3JtYXQiOiJpbnQzMiIsIm1pbmltdW0iOjEsInR5cGUiOiJpbnRlZ2VyIn0sIm1pbkNvbm5lY3Rpb25zIjp7ImRlc2NyaXB0aW9uIjoiTWluaW11bSBudW1iZXIgb2YgY29ubmVjdGlvbnMgaW4gdGhlIGNvbm5lY3Rpb24gcG9vbC5cblRoZSBkZWZhdWx0IGlzOiAxMC4iLCJmb3JtYXQiOiJpbnQzMiIsIm1pbmltdW0iOjEsInR5cGUiOiJpbnRlZ2VyIn19LCJyZXF1aXJlZCI6WyJtYXhDb25uZWN0aW9ucyIsIm1pbkNvbm5lY3Rpb25zIl0sInR5cGUiOiJvYmplY3QifSwiY29ubmVjdGlvblN0cmluZyI6eyJkZXNjcmlwdGlvbiI6IlNwZWNpZnkgYSBjb25uZWN0aW9uIHN0cmluZyB0aGF0IGNvcnJlc3BvbmRzIHRvIGEgZGF0YWJhc2UgbWFuYWdlZCBlbHNld2hlcmUuIElmIHNldCwgdGhlIG9wZXJhdG9yIHdpbGwgbm90IG1hbmFnZSB0aGUgQ2VudHJhbCBEQi5cbldoZW4gdXNpbmcgdGhpcyBvcHRpb24sIHlvdSBtdXN0IGV4cGxpY2l0bHkgc2V0IGEgcGFzc3dvcmQgc2VjcmV0OyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRpbmcgYSBwYXNzd29yZCB3aWxsIG5vdFxuYmUgc3VwcG9ydGVkLiIsInR5cGUiOiJzdHJpbmcifSwiaG9zdEFsaWFzZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhcyBob2xkcyB0aGUgbWFwcGluZyBiZXR3ZWVuIElQIGFuZCBob3N0bmFtZXMgdGhhdCB3aWxsIGJlIGluamVjdGVkIGFzIGFuIGVudHJ5IGluIHRoZVxucG9kJ3MgaG9zdHMgZmlsZS4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RuYW1lcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RuYW1lcyBmb3IgdGhlIGFib3ZlIElQIGFkZHJlc3MuIiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoiYXRvbWljIn0sImlwIjp7ImRlc2NyaXB0aW9uIjoiSVAgYWRkcmVzcyBvZiB0aGUgaG9zdCBmaWxlIGVudHJ5LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbImlwIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In0sImlzRW5hYmxlZCI6eyJkZXNjcmlwdGlvbiI6Ik9ic29sZXRlIGZpZWxkLlxuVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS4iLCJlbnVtIjpbIkRlZmF1bHQiLCJFbmFibGVkIl0sInR5cGUiOiJzdHJpbmcifSwibm9kZVNlbGVjdG9yIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwidHlwZSI6Im9iamVjdCJ9LCJwYXNzd29yZFNlY3JldCI6eyJkZXNjcmlwdGlvbiI6IlNwZWNpZnkgYSBzZWNyZXQgdGhhdCBjb250YWlucyB0aGUgcGFzc3dvcmQgaW4gdGhlIFwicGFzc3dvcmRcIiBkYXRhIGl0ZW0uIFRoaXMgY2FuIG9ubHkgYmUgdXNlZCB3aGVuXG5zcGVjaWZ5aW5nIGEgY29ubmVjdGlvbiBzdHJpbmcgbWFudWFsbHkuXG5XaGVuIG9taXR0ZWQsIHRoZSBvcGVyYXRvciB3aWxsIGF1dG8tZ2VuZXJhdGUgYSBEQiBwYXNzd29yZCBhbmQgc3RvcmUgaXQgaW4gdGhlIFwicGFzc3dvcmRcIiBpdGVtXG5pbiB0aGUgXCJjZW50cmFsLWRiLXBhc3N3b3JkXCIgc2VjcmV0LiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSByZWZlcmVuY2VkIHNlY3JldC4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwicGVyc2lzdGVuY2UiOnsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIGhvdyBDZW50cmFsIERCIHNob3VsZCBzdG9yZSBpdHMgcGVyc2lzdGVudCBkYXRhLiBZb3UgY2FuIGNob29zZSBiZXR3ZWVuIHVzaW5nIGEgcGVyc2lzdGVudFxudm9sdW1lIGNsYWltIChyZWNvbW1lbmRlZCBkZWZhdWx0KSwgYW5kIGEgaG9zdCBwYXRoLiIsInByb3BlcnRpZXMiOnsiaG9zdFBhdGgiOnsiZGVzY3JpcHRpb24iOiJTdG9yZXMgcGVyc2lzdGVudCBkYXRhIGluIGEgZGlyZWN0b3J5IG9uIHRoZSBob3N0LiBUaGlzIGlzIG5vdCByZWNvbW1lbmRlZCwgYW5kIHNob3VsZCBvbmx5XG5iZSB1c2VkIHRvZ2V0aGVyIHdpdGggYSBub2RlIHNlbGVjdG9yIChvbmx5IGF2YWlsYWJsZSBpbiBZQU1MIHZpZXcpLiIsInByb3BlcnRpZXMiOnsicGF0aCI6eyJkZXNjcmlwdGlvbiI6IlRoZSBwYXRoIG9uIHRoZSBob3N0IHJ1bm5pbmcgQ2VudHJhbC4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInBlcnNpc3RlbnRWb2x1bWVDbGFpbSI6eyJkZXNjcmlwdGlvbiI6IlVzZXMgYSBLdWJlcm5ldGVzIHBlcnNpc3RlbnQgdm9sdW1lIGNsYWltIChQVkMpIHRvIG1hbmFnZSB0aGUgc3RvcmFnZSBsb2NhdGlvbiBvZiBwZXJzaXN0ZW50IGRhdGEuXG5SZWNvbW1lbmRlZCBmb3IgbW9zdCB1c2Vycy4iLCJwcm9wZXJ0aWVzIjp7ImNsYWltTmFtZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSBQVkMgdG8gbWFuYWdlIHBlcnNpc3RlbnQgZGF0YS4gSWYgbm8gUFZDIHdpdGggdGhlIGdpdmVuIG5hbWUgZXhpc3RzLCBpdCB3aWxsIGJlXG5jcmVhdGVkLlxuVGhlIGRlZmF1bHQgaXM6IGNlbnRyYWwtZGIuIiwidHlwZSI6InN0cmluZyJ9LCJzaXplIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHNpemUgb2YgdGhlIHBlcnNpc3RlbnQgdm9sdW1lIHdoZW4gY3JlYXRlZCB0aHJvdWdoIHRoZSBjbGFpbS4gSWYgYSBjbGFpbSB3YXMgYXV0b21hdGljYWxseSBjcmVhdGVkLFxudGhpcyBjYW4gYmUgdXNlZCBhZnRlciB0aGUgaW5pdGlhbCBkZXBsb3ltZW50IHRvIHJlc2l6ZSAoZ3JvdykgdGhlIHZvbHVtZSAob25seSBzdXBwb3J0ZWQgYnkgc29tZVxuc3RvcmFnZSBjbGFzcyBjb250cm9sbGVycykuIiwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwidHlwZSI6InN0cmluZyJ9LCJzdG9yYWdlQ2xhc3NOYW1lIjp7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIHN0b3JhZ2UgY2xhc3MgdG8gdXNlIGZvciB0aGUgUFZDLiBJZiB5b3VyIGNsdXN0ZXIgaXMgbm90IGNvbmZpZ3VyZWQgd2l0aCBhIGRlZmF1bHQgc3RvcmFnZVxuY2xhc3MsIHlvdSBtdXN0IHNlbGVjdCBhIHZhbHVlIGhlcmUuIiwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJyZXNvdXJjZXMiOnsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsInByb3BlcnRpZXMiOnsiY2xhaW1zIjp7ImRlc2NyaXB0aW9uIjoiQ2xhaW1zIGxpc3RzIHRoZSBuYW1lcyBvZiByZXNvdXJjZXMsIGRlZmluZWQgaW4gc3BlYy5yZXNvdXJjZUNsYWltcyxcbnRoYXQgYXJlIHVzZWQgYnkgdGhpcyBjb250YWluZXIuXG5cblRoaXMgZmllbGQgZGVwZW5kcyBvbiB0aGVcbkR5bmFtaWNSZXNvdXJjZUFsbG9jYXRpb24gZmVhdHVyZSBnYXRlLlxuXG5UaGlzIGZpZWxkIGlzIGltbXV0YWJsZS4gSXQgY2FuIG9ubHkgYmUgc2V0IGZvciBjb250YWluZXJzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiUmVzb3VyY2VDbGFpbSByZWZlcmVuY2VzIG9uZSBlbnRyeSBpbiBQb2RTcGVjLlJlc291cmNlQ2xhaW1zLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik5hbWUgbXVzdCBtYXRjaCB0aGUgbmFtZSBvZiBvbmUgZW50cnkgaW4gcG9kLnNwZWMucmVzb3VyY2VDbGFpbXMgb2ZcbnRoZSBQb2Qgd2hlcmUgdGhpcyBmaWVsZCBpcyB1c2VkLiBJdCBtYWtlcyB0aGF0IHJlc291cmNlIGF2YWlsYWJsZVxuaW5zaWRlIGEgY29udGFpbmVyLiIsInR5cGUiOiJzdHJpbmcifSwicmVxdWVzdCI6eyJkZXNjcmlwdGlvbiI6IlJlcXVlc3QgaXMgdGhlIG5hbWUgY2hvc2VuIGZvciBhIHJlcXVlc3QgaW4gdGhlIHJlZmVyZW5jZWQgY2xhaW0uXG5JZiBlbXB0eSwgZXZlcnl0aGluZyBmcm9tIHRoZSBjbGFpbSBpcyBtYWRlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlXG5vbmx5IHRoZSByZXN1bHQgb2YgdGhpcyByZXF1ZXN0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC1tYXAta2V5cyI6WyJuYW1lIl0sIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJtYXAifSwibGltaXRzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IkxpbWl0cyBkZXNjcmliZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIGFsbG93ZWQuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifSwicmVxdWVzdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiUmVxdWVzdHMgZGVzY3JpYmVzIHRoZSBtaW5pbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyByZXF1aXJlZC5cbklmIFJlcXVlc3RzIGlzIG9taXR0ZWQgZm9yIGEgY29udGFpbmVyLCBpdCBkZWZhdWx0cyB0byBMaW1pdHMgaWYgdGhhdCBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCxcbm90aGVyd2lzZSB0byBhbiBpbXBsZW1lbnRhdGlvbi1kZWZpbmVkIHZhbHVlLiBSZXF1ZXN0cyBjYW5ub3QgZXhjZWVkIExpbWl0cy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0b2xlcmF0aW9ucyI6eyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJUaGUgcG9kIHRoaXMgVG9sZXJhdGlvbiBpcyBhdHRhY2hlZCB0byB0b2xlcmF0ZXMgYW55IHRhaW50IHRoYXQgbWF0Y2hlc1xudGhlIHRyaXBsZSBcdTAwM2NrZXksdmFsdWUsZWZmZWN0XHUwMDNlIHVzaW5nIHRoZSBtYXRjaGluZyBvcGVyYXRvciBcdTAwM2NvcGVyYXRvclx1MDAzZS4iLCJwcm9wZXJ0aWVzIjp7ImVmZmVjdCI6eyJkZXNjcmlwdGlvbiI6IkVmZmVjdCBpbmRpY2F0ZXMgdGhlIHRhaW50IGVmZmVjdCB0byBtYXRjaC4gRW1wdHkgbWVhbnMgbWF0Y2ggYWxsIHRhaW50IGVmZmVjdHMuXG5XaGVuIHNwZWNpZmllZCwgYWxsb3dlZCB2YWx1ZXMgYXJlIE5vU2NoZWR1bGUsIFByZWZlck5vU2NoZWR1bGUgYW5kIE5vRXhlY3V0ZS4iLCJ0eXBlIjoic3RyaW5nIn0sImtleSI6eyJkZXNjcmlwdGlvbiI6IktleSBpcyB0aGUgdGFpbnQga2V5IHRoYXQgdGhlIHRvbGVyYXRpb24gYXBwbGllcyB0by4gRW1wdHkgbWVhbnMgbWF0Y2ggYWxsIHRhaW50IGtleXMuXG5JZiB0aGUga2V5IGlzIGVtcHR5LCBvcGVyYXRvciBtdXN0IGJlIEV4aXN0czsgdGhpcyBjb21iaW5hdGlvbiBtZWFucyB0byBtYXRjaCBhbGwgdmFsdWVzIGFuZCBhbGwga2V5cy4iLCJ0eXBlIjoic3RyaW5nIn0sIm9wZXJhdG9yIjp7ImRlc2NyaXB0aW9uIjoiT3BlcmF0b3IgcmVwcmVzZW50cyBhIGtleSdzIHJlbGF0aW9uc2hpcCB0byB0aGUgdmFsdWUuXG5WYWxpZCBvcGVyYXRvcnMgYXJlIEV4aXN0cywgRXF1YWwsIEx0LCBhbmQgR3QuIERlZmF1bHRzIHRvIEVxdWFsLlxuRXhpc3RzIGlzIGVxdWl2YWxlbnQgdG8gd2lsZGNhcmQgZm9yIHZhbHVlLCBzbyB0aGF0IGEgcG9kIGNhblxudG9sZXJhdGUgYWxsIHRhaW50cyBvZiBhIHBhcnRpY3VsYXIgY2F0ZWdvcnkuXG5MdCBhbmQgR3QgcGVyZm9ybSBudW1lcmljIGNvbXBhcmlzb25zIChyZXF1aXJlcyBmZWF0dXJlIGdhdGUgVGFpbnRUb2xlcmF0aW9uQ29tcGFyaXNvbk9wZXJhdG9ycykuIiwidHlwZSI6InN0cmluZyJ9LCJ0b2xlcmF0aW9uU2Vjb25kcyI6eyJkZXNjcmlwdGlvbiI6IlRvbGVyYXRpb25TZWNvbmRzIHJlcHJlc2VudHMgdGhlIHBlcmlvZCBvZiB0aW1lIHRoZSB0b2xlcmF0aW9uICh3aGljaCBtdXN0IGJlXG5vZiBlZmZlY3QgTm9FeGVjdXRlLCBvdGhlcndpc2UgdGhpcyBmaWVsZCBpcyBpZ25vcmVkKSB0b2xlcmF0ZXMgdGhlIHRhaW50LiBCeSBkZWZhdWx0LFxuaXQgaXMgbm90IHNldCwgd2hpY2ggbWVhbnMgdG9sZXJhdGUgdGhlIHRhaW50IGZvcmV2ZXIgKGRvIG5vdCBldmljdCkuIFplcm8gYW5kXG5uZWdhdGl2ZSB2YWx1ZXMgd2lsbCBiZSB0cmVhdGVkIGFzIDAgKGV2aWN0IGltbWVkaWF0ZWx5KSBieSB0aGUgc3lzdGVtLiIsImZvcm1hdCI6ImludDY0IiwidHlwZSI6ImludGVnZXIifSwidmFsdWUiOnsiZGVzY3JpcHRpb24iOiJWYWx1ZSBpcyB0aGUgdGFpbnQgdmFsdWUgdGhlIHRvbGVyYXRpb24gbWF0Y2hlcyB0by5cbklmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMsIHRoZSB2YWx1ZSBzaG91bGQgYmUgZW1wdHksIG90aGVyd2lzZSBqdXN0IGEgcmVndWxhciBzdHJpbmcuIiwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifX0sInR5cGUiOiJvYmplY3QifSwiZGVjbGFyYXRpdmVDb25maWd1cmF0aW9uIjp7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyByZXNvdXJjZXMgd2l0aGluIENlbnRyYWwgaW4gYSBkZWNsYXJhdGl2ZSBtYW5uZXIuIiwicHJvcGVydGllcyI6eyJjb25maWdNYXBzIjp7ImRlc2NyaXB0aW9uIjoiTGlzdCBvZiBjb25maWcgbWFwcyBjb250YWluaW5nIGRlY2xhcmF0aXZlIGNvbmZpZ3VyYXRpb24uIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJMb2NhbENvbmZpZ01hcFJlZmVyZW5jZSBpcyBhIHJlZmVyZW5jZSB0byBhIGNvbmZpZyBtYXAgd2l0aGluIHRoZSBzYW1lIG5hbWVzcGFjZS4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBjb25maWcgbWFwLiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwic2VjcmV0cyI6eyJkZXNjcmlwdGlvbiI6Ikxpc3Qgb2Ygc2VjcmV0cyBjb250YWluaW5nIGRlY2xhcmF0aXZlIGNvbmZpZ3VyYXRpb24uIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJMb2NhbFNlY3JldFJlZmVyZW5jZSBpcyBhIHJlZmVyZW5jZSB0byBhIHNlY3JldCB3aXRoaW4gdGhlIHNhbWUgbmFtZXNwYWNlLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSByZWZlcmVuY2VkIHNlY3JldC4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sImRlZmF1bHRUTFNTZWNyZXQiOnsiZGVzY3JpcHRpb24iOiJCeSBkZWZhdWx0LCBDZW50cmFsIHdpbGwgb25seSBzZXJ2ZSBhbiBpbnRlcm5hbCBUTFMgY2VydGlmaWNhdGUsIHdoaWNoIG1lYW5zIHRoYXQgeW91IHdpbGxcbm5lZWQgdG8gaGFuZGxlIFRMUyB0ZXJtaW5hdGlvbiBhdCB0aGUgaW5ncmVzcyBvciBsb2FkIGJhbGFuY2VyIGxldmVsLlxuSWYgeW91IHdhbnQgdG8gdGVybWluYXRlIFRMUyBpbiBDZW50cmFsIGFuZCBzZXJ2ZSBhIGN1c3RvbSBzZXJ2ZXIgY2VydGlmaWNhdGUsIHlvdSBjYW4gc3BlY2lmeVxuYSBzZWNyZXQgY29udGFpbmluZyB0aGUgY2VydGlmaWNhdGUgYW5kIHByaXZhdGUga2V5IGhlcmUuIiwicHJvcGVydGllcyI6eyJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIHJlZmVyZW5jZWQgc2VjcmV0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJleHBvc3VyZSI6eyJkZXNjcmlwdGlvbiI6IkhlcmUgeW91IGNhbiBjb25maWd1cmUgaWYgeW91IHdhbnQgdG8gZXhwb3NlIGNlbnRyYWwgdGhyb3VnaCBhIG5vZGUgcG9ydCwgYSBsb2FkIGJhbGFuY2VyLCBvciBhbiBPcGVuU2hpZnRcbnJvdXRlLiIsInByb3BlcnRpZXMiOnsibG9hZEJhbGFuY2VyIjp7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIENlbnRyYWwgdGhyb3VnaCBhIGxvYWQgYmFsYW5jZXIgc2VydmljZS4iLCJwcm9wZXJ0aWVzIjp7ImVuYWJsZWQiOnsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogZmFsc2UuIiwidHlwZSI6ImJvb2xlYW4ifSwiaXAiOnsiZGVzY3JpcHRpb24iOiJJZiB5b3UgaGF2ZSBhIHN0YXRpYyBJUCBhZGRyZXNzIHJlc2VydmVkIGZvciB5b3VyIGxvYWQgYmFsYW5jZXIsIHlvdSBjYW4gZW50ZXIgaXQgaGVyZS4iLCJ0eXBlIjoic3RyaW5nIn0sInBvcnQiOnsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogNDQzLiIsImZvcm1hdCI6ImludDMyIiwibWF4aW11bSI6NjU1MzUsIm1pbmltdW0iOjEsInR5cGUiOiJpbnRlZ2VyIn19LCJ0eXBlIjoib2JqZWN0In0sIm5vZGVQb3J0Ijp7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIENlbnRyYWwgdGhyb3VnaCBhIG5vZGUgcG9ydC4iLCJwcm9wZXJ0aWVzIjp7ImVuYWJsZWQiOnsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogZmFsc2UuIiwidHlwZSI6ImJvb2xlYW4ifSwicG9ydCI6eyJkZXNjcmlwdGlvbiI6IlVzZSB0aGlzIHRvIHNwZWNpZnkgYW4gZXhwbGljaXQgbm9kZSBwb3J0LiBNb3N0IHVzZXJzIHNob3VsZCBsZWF2ZSB0aGlzIGVtcHR5LiIsImZvcm1hdCI6ImludDMyIiwibWF4aW11bSI6NjU1MzUsIm1pbmltdW0iOjEsInR5cGUiOiJpbnRlZ2VyIn19LCJ0eXBlIjoib2JqZWN0In0sInJvdXRlIjp7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIENlbnRyYWwgdGhyb3VnaCBhbiBPcGVuU2hpZnQgcm91dGUuIiwicHJvcGVydGllcyI6eyJlbmFibGVkIjp7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIENlbnRyYWwgd2l0aCBhIHBhc3N0aHJvdWdoIHJvdXRlLlxuVGhlIGRlZmF1bHQgaXM6IGZhbHNlLiIsInR5cGUiOiJib29sZWFuIn0sImhvc3QiOnsiZGVzY3JpcHRpb24iOiJTcGVjaWZ5IGEgY3VzdG9tIGhvc3RuYW1lIGZvciB0aGUgQ2VudHJhbCByb3V0ZS5cbklmIHVuc3BlY2lmaWVkLCBhbiBhcHByb3ByaWF0ZSBkZWZhdWx0IHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjaG9zZW4gYnkgdGhlIE9wZW5TaGlmdCByb3V0ZSBvcGVyYXRvci4iLCJ0eXBlIjoic3RyaW5nIn0sInJlZW5jcnlwdCI6eyJkZXNjcmlwdGlvbiI6IlNldCB1cCBhIENlbnRyYWwgcm91dGUgd2l0aCByZWVuY3J5cHQgVExTIHRlcm1pbmF0aW9uLlxuRm9yIHJlZW5jcnlwdCByb3V0ZXMsIHRoZSByZXF1ZXN0IGlzIHRlcm1pbmF0ZWQgb24gdGhlIE9wZW5TaGlmdCByb3V0ZXIgd2l0aCBhIGN1c3RvbSBjZXJ0aWZpY2F0ZS5cblRoZSByZXF1ZXN0IGlzIHRoZW4gcmVlbmNyeXB0ZWQgYnkgdGhlIE9wZW5TaGlmdCByb3V0ZXIgYW5kIHNlbnQgdG8gQ2VudHJhbC5cblt1c2VyXSAtLVRMUy0tXHUwMDNlIFtPcGVuU2hpZnQgcm91dGVyXSAtLVRMUy0tXHUwMDNlIFtDZW50cmFsXSIsInByb3BlcnRpZXMiOnsiZW5hYmxlZCI6eyJkZXNjcmlwdGlvbiI6IkV4cG9zZSBDZW50cmFsIHdpdGggYSByZWVuY3J5cHQgcm91dGUuXG5TaG91bGQgbm90IGJlIHVzZWQgZm9yIHNlbnNvciBjb21tdW5pY2F0aW9uLlxuVGhlIGRlZmF1bHQgaXM6IGZhbHNlLiIsInR5cGUiOiJib29sZWFuIn0sImhvc3QiOnsiZGVzY3JpcHRpb24iOiJTcGVjaWZ5IGEgY3VzdG9tIGhvc3RuYW1lIGZvciB0aGUgQ2VudHJhbCByZWVuY3J5cHQgcm91dGUuXG5JZiB1bnNwZWNpZmllZCwgYW4gYXBwcm9wcmlhdGUgZGVmYXVsdCB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2hvc2VuIGJ5IHRoZSBPcGVuU2hpZnQgcm91dGUgb3BlcmF0b3IuIiwidHlwZSI6InN0cmluZyJ9LCJ0bHMiOnsiZGVzY3JpcHRpb24iOiJUTFMgc2V0dGluZ3MgZm9yIGV4cG9zaW5nIENlbnRyYWwgdmlhIGEgcmVlbmNyeXB0IFJvdXRlLiIsInByb3BlcnRpZXMiOnsiY2FDZXJ0aWZpY2F0ZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBQRU0gZW5jb2RlZCBjZXJ0aWZpY2F0ZSBjaGFpbiB0aGF0IG1heSBiZSB1c2VkIHRvIGVzdGFibGlzaCBhIGNvbXBsZXRlIGNoYWluIG9mIHRydXN0LlxuRGVmYXVsdHMgdG8gdGhlIE9wZW5TaGlmdCBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkuIiwidHlwZSI6InN0cmluZyJ9LCJjZXJ0aWZpY2F0ZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBQRU0gZW5jb2RlZCBjZXJ0aWZpY2F0ZSB0aGF0IGlzIHNlcnZlZCBvbiB0aGUgcm91dGUuIE11c3QgYmUgYSBzaW5nbGUgc2VydmluZ1xuY2VydGlmaWNhdGUgaW5zdGVhZCBvZiBhIGNlcnRpZmljYXRlIGNoYWluLlxuRGVmYXVsdHMgdG8gYSBjZXJ0aWZpY2F0ZSBzaWduZWQgYnkgdGhlIE9wZW5TaGlmdCBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkuIiwidHlwZSI6InN0cmluZyJ9LCJkZXN0aW5hdGlvbkNBQ2VydGlmaWNhdGUiOnsiZGVzY3JpcHRpb24iOiJUaGUgQ0EgY2VydGlmaWNhdGUgb2YgdGhlIGZpbmFsIGRlc3RpbmF0aW9uLCBpLmUuIG9mIENlbnRyYWwuXG5Vc2VkIGJ5IHRoZSBPcGVuU2hpZnQgcm91dGVyIGZvciBoZWFsdGggY2hlY2tzIG9uIHRoZSBzZWN1cmUgY29ubmVjdGlvbi5cbkRlZmF1bHRzIHRvIHRoZSBDZW50cmFsIGNlcnRpZmljYXRlIGF1dGhvcml0eS4iLCJ0eXBlIjoic3RyaW5nIn0sImtleSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBQRU0gZW5jb2RlZCBwcml2YXRlIGtleSBvZiB0aGUgY2VydGlmaWNhdGUgdGhhdCBpcyBzZXJ2ZWQgb24gdGhlIHJvdXRlLlxuRGVmYXVsdHMgdG8gYSBjZXJ0aWZpY2F0ZSBzaWduZWQgYnkgdGhlIE9wZW5TaGlmdCBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkuIiwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJob3N0QWxpYXNlcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzIGhvbGRzIHRoZSBtYXBwaW5nIGJldHdlZW4gSVAgYW5kIGhvc3RuYW1lcyB0aGF0IHdpbGwgYmUgaW5qZWN0ZWQgYXMgYW4gZW50cnkgaW4gdGhlXG5wb2QncyBob3N0cyBmaWxlLiIsInByb3BlcnRpZXMiOnsiaG9zdG5hbWVzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdG5hbWVzIGZvciB0aGUgYWJvdmUgSVAgYWRkcmVzcy4iLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJhdG9taWMifSwiaXAiOnsiZGVzY3JpcHRpb24iOiJJUCBhZGRyZXNzIG9mIHRoZSBob3N0IGZpbGUgZW50cnkuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiaXAiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwibW9uaXRvcmluZyI6eyJkZXNjcmlwdGlvbiI6IkNvbmZpZ3VyZXMgbW9uaXRvcmluZyBlbmRwb2ludCBmb3IgQ2VudHJhbC4gVGhlIG1vbml0b3JpbmcgZW5kcG9pbnRcbmFsbG93cyBvdGhlciBzZXJ2aWNlcyB0byBjb2xsZWN0IG1ldHJpY3MgZnJvbSBDZW50cmFsLCBwcm92aWRlZCBpblxuUHJvbWV0aGV1cyBjb21wYXRpYmxlIGZvcm1hdC4iLCJwcm9wZXJ0aWVzIjp7ImV4cG9zZUVuZHBvaW50Ijp7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIHRoZSBtb25pdG9yaW5nIGVuZHBvaW50LiBBIG5ldyBzZXJ2aWNlLCBcIm1vbml0b3JpbmdcIixcbndpdGggcG9ydCA5MDkwLCB3aWxsIGJlIGNyZWF0ZWQgYXMgd2VsbCBhcyBhIG5ldHdvcmsgcG9saWN5IGFsbG93aW5nXG5pbmJvdW5kIGNvbm5lY3Rpb25zIHRvIHRoZSBwb3J0LiIsImVudW0iOlsiRW5hYmxlZCIsIkRpc2FibGVkIl0sInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwibm9kZVNlbGVjdG9yIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwidHlwZSI6Im9iamVjdCJ9LCJub3RpZmllclNlY3JldHNFbmNyeXB0aW9uIjp7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyB0aGUgZW5jcnlwdGlvbiBvZiBub3RpZmllciBzZWNyZXRzIHN0b3JlZCBpbiB0aGUgQ2VudHJhbCBEQi4iLCJwcm9wZXJ0aWVzIjp7ImVuYWJsZWQiOnsiZGVzY3JpcHRpb24iOiJFbmFibGVzIHRoZSBlbmNyeXB0aW9uIG9mIG5vdGlmaWVyIHNlY3JldHMgc3RvcmVkIGluIHRoZSBDZW50cmFsIERCLlxuVGhlIGRlZmF1bHQgaXM6IGZhbHNlLiIsInR5cGUiOiJib29sZWFuIn19LCJ0eXBlIjoib2JqZWN0In0sInBlcnNpc3RlbmNlIjp7ImRlc2NyaXB0aW9uIjoiVW51c2VkIGZpZWxkLiBUaGlzIGZpZWxkIGV4aXN0cyBzb2xlbHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgc3RhcnRpbmcgZnJvbSB2ZXJzaW9uIHY0LjYuMC4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RQYXRoIjp7ImRlc2NyaXB0aW9uIjoiT2Jzb2xldGUgdW51c2VkIGZpZWxkLiIsInByb3BlcnRpZXMiOnsicGF0aCI6eyJkZXNjcmlwdGlvbiI6IlRoZSBwYXRoIG9uIHRoZSBob3N0IHJ1bm5pbmcgQ2VudHJhbC4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInBlcnNpc3RlbnRWb2x1bWVDbGFpbSI6eyJkZXNjcmlwdGlvbiI6Ik9ic29sZXRlIHVudXNlZCBmaWVsZC4iLCJwcm9wZXJ0aWVzIjp7ImNsYWltTmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik9ic29sZXRlIHVudXNlZCBmaWVsZC4iLCJ0eXBlIjoic3RyaW5nIn0sInNpemUiOnsiZGVzY3JpcHRpb24iOiJPYnNvbGV0ZSB1bnVzZWQgZmllbGQuIiwidHlwZSI6InN0cmluZyJ9LCJzdG9yYWdlQ2xhc3NOYW1lIjp7ImRlc2NyaXB0aW9uIjoiT2Jzb2xldGUgdW51c2VkIGZpZWxkLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwicmVzb3VyY2VzIjp7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJwcm9wZXJ0aWVzIjp7ImNsYWltcyI6eyJkZXNjcmlwdGlvbiI6IkNsYWltcyBsaXN0cyB0aGUgbmFtZXMgb2YgcmVzb3VyY2VzLCBkZWZpbmVkIGluIHNwZWMucmVzb3VyY2VDbGFpbXMsXG50aGF0IGFyZSB1c2VkIGJ5IHRoaXMgY29udGFpbmVyLlxuXG5UaGlzIGZpZWxkIGRlcGVuZHMgb24gdGhlXG5EeW5hbWljUmVzb3VyY2VBbGxvY2F0aW9uIGZlYXR1cmUgZ2F0ZS5cblxuVGhpcyBmaWVsZCBpcyBpbW11dGFibGUuIEl0IGNhbiBvbmx5IGJlIHNldCBmb3IgY29udGFpbmVycy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlQ2xhaW0gcmVmZXJlbmNlcyBvbmUgZW50cnkgaW4gUG9kU3BlYy5SZXNvdXJjZUNsYWltcy4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJOYW1lIG11c3QgbWF0Y2ggdGhlIG5hbWUgb2Ygb25lIGVudHJ5IGluIHBvZC5zcGVjLnJlc291cmNlQ2xhaW1zIG9mXG50aGUgUG9kIHdoZXJlIHRoaXMgZmllbGQgaXMgdXNlZC4gSXQgbWFrZXMgdGhhdCByZXNvdXJjZSBhdmFpbGFibGVcbmluc2lkZSBhIGNvbnRhaW5lci4iLCJ0eXBlIjoic3RyaW5nIn0sInJlcXVlc3QiOnsiZGVzY3JpcHRpb24iOiJSZXF1ZXN0IGlzIHRoZSBuYW1lIGNob3NlbiBmb3IgYSByZXF1ZXN0IGluIHRoZSByZWZlcmVuY2VkIGNsYWltLlxuSWYgZW1wdHksIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgY2xhaW0gaXMgbWFkZSBhdmFpbGFibGUsIG90aGVyd2lzZVxub25seSB0aGUgcmVzdWx0IG9mIHRoaXMgcmVxdWVzdC4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtbWFwLWtleXMiOlsibmFtZSJdLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoibWFwIn0sImxpbWl0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJMaW1pdHMgZGVzY3JpYmVzIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyBhbGxvd2VkLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In0sInJlcXVlc3RzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IlJlcXVlc3RzIGRlc2NyaWJlcyB0aGUgbWluaW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgcmVxdWlyZWQuXG5JZiBSZXF1ZXN0cyBpcyBvbWl0dGVkIGZvciBhIGNvbnRhaW5lciwgaXQgZGVmYXVsdHMgdG8gTGltaXRzIGlmIHRoYXQgaXMgZXhwbGljaXRseSBzcGVjaWZpZWQsXG5vdGhlcndpc2UgdG8gYW4gaW1wbGVtZW50YXRpb24tZGVmaW5lZCB2YWx1ZS4gUmVxdWVzdHMgY2Fubm90IGV4Y2VlZCBMaW1pdHMuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwidGVsZW1ldHJ5Ijp7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyB0ZWxlbWV0cnkgc2V0dGluZ3MgZm9yIENlbnRyYWwuIElmIGVuYWJsZWQsIENlbnRyYWwgdHJhbnNtaXRzIHRlbGVtZXRyeSBhbmQgZGlhZ25vc3RpY1xuZGF0YSB0byBhIHJlbW90ZSBzdG9yYWdlIGJhY2tlbmQuIiwicHJvcGVydGllcyI6eyJlbmFibGVkIjp7ImRlc2NyaXB0aW9uIjoiU3BlY2lmaWVzIHdoZXRoZXIgVGVsZW1ldHJ5IGlzIGVuYWJsZWQuXG5UaGUgZGVmYXVsdCBpczogdHJ1ZS4iLCJ0eXBlIjoiYm9vbGVhbiJ9LCJzdG9yYWdlIjp7ImRlc2NyaXB0aW9uIjoiRGVmaW5lcyB0aGUgdGVsZW1ldHJ5IHN0b3JhZ2UgYmFja2VuZCBmb3IgQ2VudHJhbC4iLCJwcm9wZXJ0aWVzIjp7ImVuZHBvaW50Ijp7ImRlc2NyaXB0aW9uIjoiU3RvcmFnZSBBUEkgZW5kcG9pbnQuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJTdG9yYWdlIEFQSSBrZXkuIElmIG5vdCBzZXQsIHRlbGVtZXRyeSBpcyBkaXNhYmxlZC4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sInRvbGVyYXRpb25zIjp7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBwb2QgdGhpcyBUb2xlcmF0aW9uIGlzIGF0dGFjaGVkIHRvIHRvbGVyYXRlcyBhbnkgdGFpbnQgdGhhdCBtYXRjaGVzXG50aGUgdHJpcGxlIFx1MDAzY2tleSx2YWx1ZSxlZmZlY3RcdTAwM2UgdXNpbmcgdGhlIG1hdGNoaW5nIG9wZXJhdG9yIFx1MDAzY29wZXJhdG9yXHUwMDNlLiIsInByb3BlcnRpZXMiOnsiZWZmZWN0Ijp7ImRlc2NyaXB0aW9uIjoiRWZmZWN0IGluZGljYXRlcyB0aGUgdGFpbnQgZWZmZWN0IHRvIG1hdGNoLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQgZWZmZWN0cy5cbldoZW4gc3BlY2lmaWVkLCBhbGxvd2VkIHZhbHVlcyBhcmUgTm9TY2hlZHVsZSwgUHJlZmVyTm9TY2hlZHVsZSBhbmQgTm9FeGVjdXRlLiIsInR5cGUiOiJzdHJpbmcifSwia2V5Ijp7ImRlc2NyaXB0aW9uIjoiS2V5IGlzIHRoZSB0YWludCBrZXkgdGhhdCB0aGUgdG9sZXJhdGlvbiBhcHBsaWVzIHRvLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQga2V5cy5cbklmIHRoZSBrZXkgaXMgZW1wdHksIG9wZXJhdG9yIG11c3QgYmUgRXhpc3RzOyB0aGlzIGNvbWJpbmF0aW9uIG1lYW5zIHRvIG1hdGNoIGFsbCB2YWx1ZXMgYW5kIGFsbCBrZXlzLiIsInR5cGUiOiJzdHJpbmcifSwib3BlcmF0b3IiOnsiZGVzY3JpcHRpb24iOiJPcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIHRoZSB2YWx1ZS5cblZhbGlkIG9wZXJhdG9ycyBhcmUgRXhpc3RzLCBFcXVhbCwgTHQsIGFuZCBHdC4gRGVmYXVsdHMgdG8gRXF1YWwuXG5FeGlzdHMgaXMgZXF1aXZhbGVudCB0byB3aWxkY2FyZCBmb3IgdmFsdWUsIHNvIHRoYXQgYSBwb2QgY2FuXG50b2xlcmF0ZSBhbGwgdGFpbnRzIG9mIGEgcGFydGljdWxhciBjYXRlZ29yeS5cbkx0IGFuZCBHdCBwZXJmb3JtIG51bWVyaWMgY29tcGFyaXNvbnMgKHJlcXVpcmVzIGZlYXR1cmUgZ2F0ZSBUYWludFRvbGVyYXRpb25Db21wYXJpc29uT3BlcmF0b3JzKS4iLCJ0eXBlIjoic3RyaW5nIn0sInRvbGVyYXRpb25TZWNvbmRzIjp7ImRlc2NyaXB0aW9uIjoiVG9sZXJhdGlvblNlY29uZHMgcmVwcmVzZW50cyB0aGUgcGVyaW9kIG9mIHRpbWUgdGhlIHRvbGVyYXRpb24gKHdoaWNoIG11c3QgYmVcbm9mIGVmZmVjdCBOb0V4ZWN1dGUsIG90aGVyd2lzZSB0aGlzIGZpZWxkIGlzIGlnbm9yZWQpIHRvbGVyYXRlcyB0aGUgdGFpbnQuIEJ5IGRlZmF1bHQsXG5pdCBpcyBub3Qgc2V0LCB3aGljaCBtZWFucyB0b2xlcmF0ZSB0aGUgdGFpbnQgZm9yZXZlciAoZG8gbm90IGV2aWN0KS4gWmVybyBhbmRcbm5lZ2F0aXZlIHZhbHVlcyB3aWxsIGJlIHRyZWF0ZWQgYXMgMCAoZXZpY3QgaW1tZWRpYXRlbHkpIGJ5IHRoZSBzeXN0ZW0uIiwiZm9ybWF0IjoiaW50NjQiLCJ0eXBlIjoiaW50ZWdlciJ9LCJ2YWx1ZSI6eyJkZXNjcmlwdGlvbiI6IlZhbHVlIGlzIHRoZSB0YWludCB2YWx1ZSB0aGUgdG9sZXJhdGlvbiBtYXRjaGVzIHRvLlxuSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cywgdGhlIHZhbHVlIHNob3VsZCBiZSBlbXB0eSwgb3RoZXJ3aXNlIGp1c3QgYSByZWd1bGFyIHN0cmluZy4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9fSwidHlwZSI6Im9iamVjdCJ9LCJjb25maWdBc0NvZGUiOnsiZGVzY3JpcHRpb24iOiJDb25maWctYXMtQ29kZSBjb25maWd1cmF0aW9uLiIsInByb3BlcnRpZXMiOnsiY29uZmlnQXNDb2RlQ29tcG9uZW50Ijp7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdG8gZGVwbG95IHRoZSBDb25maWcgYXMgQ29kZSBjb21wb25lbnQsIHNldCB0aGlzIHRvIFwiRW5hYmxlZFwiXG5UaGUgZGVmYXVsdCBpczogRW5hYmxlZC4iLCJlbnVtIjpbIkVuYWJsZWQiLCJEaXNhYmxlZCJdLCJ0eXBlIjoic3RyaW5nIn0sImhvc3RBbGlhc2VzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXMgaG9sZHMgdGhlIG1hcHBpbmcgYmV0d2VlbiBJUCBhbmQgaG9zdG5hbWVzIHRoYXQgd2lsbCBiZSBpbmplY3RlZCBhcyBhbiBlbnRyeSBpbiB0aGVcbnBvZCdzIGhvc3RzIGZpbGUuIiwicHJvcGVydGllcyI6eyJob3N0bmFtZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0bmFtZXMgZm9yIHRoZSBhYm92ZSBJUCBhZGRyZXNzLiIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6ImF0b21pYyJ9LCJpcCI6eyJkZXNjcmlwdGlvbiI6IklQIGFkZHJlc3Mgb2YgdGhlIGhvc3QgZmlsZSBlbnRyeS4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJpcCJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJub2RlU2VsZWN0b3IiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9LCJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSBhIG5vZGUgc2VsZWN0b3IgaGVyZS5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3Rvci4iLCJ0eXBlIjoib2JqZWN0In0sInJlc291cmNlcyI6eyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwicHJvcGVydGllcyI6eyJjbGFpbXMiOnsiZGVzY3JpcHRpb24iOiJDbGFpbXMgbGlzdHMgdGhlIG5hbWVzIG9mIHJlc291cmNlcywgZGVmaW5lZCBpbiBzcGVjLnJlc291cmNlQ2xhaW1zLFxudGhhdCBhcmUgdXNlZCBieSB0aGlzIGNvbnRhaW5lci5cblxuVGhpcyBmaWVsZCBkZXBlbmRzIG9uIHRoZVxuRHluYW1pY1Jlc291cmNlQWxsb2NhdGlvbiBmZWF0dXJlIGdhdGUuXG5cblRoaXMgZmllbGQgaXMgaW1tdXRhYmxlLiBJdCBjYW4gb25seSBiZSBzZXQgZm9yIGNvbnRhaW5lcnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJSZXNvdXJjZUNsYWltIHJlZmVyZW5jZXMgb25lIGVudHJ5IGluIFBvZFNwZWMuUmVzb3VyY2VDbGFpbXMuIiwicHJvcGVydGllcyI6eyJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTmFtZSBtdXN0IG1hdGNoIHRoZSBuYW1lIG9mIG9uZSBlbnRyeSBpbiBwb2Quc3BlYy5yZXNvdXJjZUNsYWltcyBvZlxudGhlIFBvZCB3aGVyZSB0aGlzIGZpZWxkIGlzIHVzZWQuIEl0IG1ha2VzIHRoYXQgcmVzb3VyY2UgYXZhaWxhYmxlXG5pbnNpZGUgYSBjb250YWluZXIuIiwidHlwZSI6InN0cmluZyJ9LCJyZXF1ZXN0Ijp7ImRlc2NyaXB0aW9uIjoiUmVxdWVzdCBpcyB0aGUgbmFtZSBjaG9zZW4gZm9yIGEgcmVxdWVzdCBpbiB0aGUgcmVmZXJlbmNlZCBjbGFpbS5cbklmIGVtcHR5LCBldmVyeXRoaW5nIGZyb20gdGhlIGNsYWltIGlzIG1hZGUgYXZhaWxhYmxlLCBvdGhlcndpc2Vcbm9ubHkgdGhlIHJlc3VsdCBvZiB0aGlzIHJlcXVlc3QuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LW1hcC1rZXlzIjpbIm5hbWUiXSwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6Im1hcCJ9LCJsaW1pdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiTGltaXRzIGRlc2NyaWJlcyB0aGUgbWF4aW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgYWxsb3dlZC5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9LCJyZXF1ZXN0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0cyBkZXNjcmliZXMgdGhlIG1pbmltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIHJlcXVpcmVkLlxuSWYgUmVxdWVzdHMgaXMgb21pdHRlZCBmb3IgYSBjb250YWluZXIsIGl0IGRlZmF1bHRzIHRvIExpbWl0cyBpZiB0aGF0IGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLFxub3RoZXJ3aXNlIHRvIGFuIGltcGxlbWVudGF0aW9uLWRlZmluZWQgdmFsdWUuIFJlcXVlc3RzIGNhbm5vdCBleGNlZWQgTGltaXRzLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sInRvbGVyYXRpb25zIjp7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBwb2QgdGhpcyBUb2xlcmF0aW9uIGlzIGF0dGFjaGVkIHRvIHRvbGVyYXRlcyBhbnkgdGFpbnQgdGhhdCBtYXRjaGVzXG50aGUgdHJpcGxlIFx1MDAzY2tleSx2YWx1ZSxlZmZlY3RcdTAwM2UgdXNpbmcgdGhlIG1hdGNoaW5nIG9wZXJhdG9yIFx1MDAzY29wZXJhdG9yXHUwMDNlLiIsInByb3BlcnRpZXMiOnsiZWZmZWN0Ijp7ImRlc2NyaXB0aW9uIjoiRWZmZWN0IGluZGljYXRlcyB0aGUgdGFpbnQgZWZmZWN0IHRvIG1hdGNoLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQgZWZmZWN0cy5cbldoZW4gc3BlY2lmaWVkLCBhbGxvd2VkIHZhbHVlcyBhcmUgTm9TY2hlZHVsZSwgUHJlZmVyTm9TY2hlZHVsZSBhbmQgTm9FeGVjdXRlLiIsInR5cGUiOiJzdHJpbmcifSwia2V5Ijp7ImRlc2NyaXB0aW9uIjoiS2V5IGlzIHRoZSB0YWludCBrZXkgdGhhdCB0aGUgdG9sZXJhdGlvbiBhcHBsaWVzIHRvLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQga2V5cy5cbklmIHRoZSBrZXkgaXMgZW1wdHksIG9wZXJhdG9yIG11c3QgYmUgRXhpc3RzOyB0aGlzIGNvbWJpbmF0aW9uIG1lYW5zIHRvIG1hdGNoIGFsbCB2YWx1ZXMgYW5kIGFsbCBrZXlzLiIsInR5cGUiOiJzdHJpbmcifSwib3BlcmF0b3IiOnsiZGVzY3JpcHRpb24iOiJPcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIHRoZSB2YWx1ZS5cblZhbGlkIG9wZXJhdG9ycyBhcmUgRXhpc3RzLCBFcXVhbCwgTHQsIGFuZCBHdC4gRGVmYXVsdHMgdG8gRXF1YWwuXG5FeGlzdHMgaXMgZXF1aXZhbGVudCB0byB3aWxkY2FyZCBmb3IgdmFsdWUsIHNvIHRoYXQgYSBwb2QgY2FuXG50b2xlcmF0ZSBhbGwgdGFpbnRzIG9mIGEgcGFydGljdWxhciBjYXRlZ29yeS5cbkx0IGFuZCBHdCBwZXJmb3JtIG51bWVyaWMgY29tcGFyaXNvbnMgKHJlcXVpcmVzIGZlYXR1cmUgZ2F0ZSBUYWludFRvbGVyYXRpb25Db21wYXJpc29uT3BlcmF0b3JzKS4iLCJ0eXBlIjoic3RyaW5nIn0sInRvbGVyYXRpb25TZWNvbmRzIjp7ImRlc2NyaXB0aW9uIjoiVG9sZXJhdGlvblNlY29uZHMgcmVwcmVzZW50cyB0aGUgcGVyaW9kIG9mIHRpbWUgdGhlIHRvbGVyYXRpb24gKHdoaWNoIG11c3QgYmVcbm9mIGVmZmVjdCBOb0V4ZWN1dGUsIG90aGVyd2lzZSB0aGlzIGZpZWxkIGlzIGlnbm9yZWQpIHRvbGVyYXRlcyB0aGUgdGFpbnQuIEJ5IGRlZmF1bHQsXG5pdCBpcyBub3Qgc2V0LCB3aGljaCBtZWFucyB0b2xlcmF0ZSB0aGUgdGFpbnQgZm9yZXZlciAoZG8gbm90IGV2aWN0KS4gWmVybyBhbmRcbm5lZ2F0aXZlIHZhbHVlcyB3aWxsIGJlIHRyZWF0ZWQgYXMgMCAoZXZpY3QgaW1tZWRpYXRlbHkpIGJ5IHRoZSBzeXN0ZW0uIiwiZm9ybWF0IjoiaW50NjQiLCJ0eXBlIjoiaW50ZWdlciJ9LCJ2YWx1ZSI6eyJkZXNjcmlwdGlvbiI6IlZhbHVlIGlzIHRoZSB0YWludCB2YWx1ZSB0aGUgdG9sZXJhdGlvbiBtYXRjaGVzIHRvLlxuSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cywgdGhlIHZhbHVlIHNob3VsZCBiZSBlbXB0eSwgb3RoZXJ3aXNlIGp1c3QgYSByZWd1bGFyIHN0cmluZy4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9fSwidHlwZSI6Im9iamVjdCJ9LCJjdXN0b21pemUiOnsiZGVzY3JpcHRpb24iOiJDdXN0b21pemF0aW9ucyB0byBhcHBseSBvbiBhbGwgQ2VudHJhbCBTZXJ2aWNlcyBjb21wb25lbnRzLiIsInByb3BlcnRpZXMiOnsiYW5ub3RhdGlvbnMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9LCJkZXNjcmlwdGlvbiI6IkN1c3RvbSBhbm5vdGF0aW9ucyB0byBzZXQgb24gYWxsIG1hbmFnZWQgb2JqZWN0cy4iLCJ0eXBlIjoib2JqZWN0In0sImRlcGxveW1lbnREZWZhdWx0cyI6eyJkZXNjcmlwdGlvbiI6Ikdsb2JhbCBub2RlU2VsZWN0b3IgYW5kIHRvbGVyYXRpb25zIGZvciBEZXBsb3ltZW50LWJhc2VkIGNvbXBvbmVudHMuIERhZW1vblNldHMgKENvbGxlY3RvcikgYXJlIG5vdCBhZmZlY3RlZC5cbkNvbXBvbmVudC1sZXZlbCBub2RlU2VsZWN0b3IgYW5kIHRvbGVyYXRpb25zIHNldHRpbmdzIG92ZXJyaWRlIHRoZXNlIGRlZmF1bHRzIG9uIGEgZmllbGQtYnktZmllbGQgYmFzaXMuIiwicHJvcGVydGllcyI6eyJub2RlU2VsZWN0b3IiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9LCJkZXNjcmlwdGlvbiI6IkRlZmF1bHQgbm9kZVNlbGVjdG9yIGFwcGxpZWQgdG8gYWxsIERlcGxveW1lbnQtYmFzZWQgY29tcG9uZW50cy4gVXNlIHRoaXMgZm9yIGN1c3RvbSBub2RlXG5zZWxlY3Rpb24gY3JpdGVyaWEuXG5DYW5ub3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIHBpblRvTm9kZXMuIiwidHlwZSI6Im9iamVjdCJ9LCJwaW5Ub05vZGVzIjp7ImRlc2NyaXB0aW9uIjoiUGluIGFsbCBEZXBsb3ltZW50LWJhc2VkIGNvbXBvbmVudHMgdG8gc3BlY2lmaWMgbm9kZSB0eXBlcy4gVGhpcyBpcyBhIGNvbnZlbmllbmNlIHNldHRpbmdcbnRoYXQgYXV0b21hdGljYWxseSBjb25maWd1cmVzIGJvdGggbm9kZVNlbGVjdG9yIGFuZCB0b2xlcmF0aW9ucyB3aXRoIHByZWRlZmluZWQgdmFsdWVzLlxuVXNlIHRoaXMgZm9yIGNvbW1vbiBzY2VuYXJpb3MgbGlrZSBydW5uaW5nIG9uIE9wZW5TaGlmdCBpbmZyYXN0cnVjdHVyZSBub2Rlcy5cbkZvciBjdXN0b20gbm9kZSBzZWxlY3Rpb24sIHVzZSB0aGUgZXhwbGljaXQgbm9kZVNlbGVjdG9yIGFuZCB0b2xlcmF0aW9ucyBmaWVsZHMgaW5zdGVhZC5cbkNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggbm9kZVNlbGVjdG9yIG9yIHRvbGVyYXRpb25zIGZpZWxkcy5cblRoZSBkZWZhdWx0IGlzOiBOb25lLiIsImVudW0iOlsiTm9uZSIsIkluZnJhUm9sZSJdLCJ0eXBlIjoic3RyaW5nIn0sInRvbGVyYXRpb25zIjp7ImRlc2NyaXB0aW9uIjoiRGVmYXVsdCB0b2xlcmF0aW9ucyBhcHBsaWVkIHRvIGFsbCBEZXBsb3ltZW50LWJhc2VkIGNvbXBvbmVudHMuIFVzZSB0aGlzIHdoZW4geW91ciB0YXJnZXRcbm5vZGVzIGhhdmUgY3VzdG9tIHRhaW50cyB0aGF0IHBvZHMgbXVzdCB0b2xlcmF0ZS5cbkNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggcGluVG9Ob2Rlcy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBwb2QgdGhpcyBUb2xlcmF0aW9uIGlzIGF0dGFjaGVkIHRvIHRvbGVyYXRlcyBhbnkgdGFpbnQgdGhhdCBtYXRjaGVzXG50aGUgdHJpcGxlIFx1MDAzY2tleSx2YWx1ZSxlZmZlY3RcdTAwM2UgdXNpbmcgdGhlIG1hdGNoaW5nIG9wZXJhdG9yIFx1MDAzY29wZXJhdG9yXHUwMDNlLiIsInByb3BlcnRpZXMiOnsiZWZmZWN0Ijp7ImRlc2NyaXB0aW9uIjoiRWZmZWN0IGluZGljYXRlcyB0aGUgdGFpbnQgZWZmZWN0IHRvIG1hdGNoLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQgZWZmZWN0cy5cbldoZW4gc3BlY2lmaWVkLCBhbGxvd2VkIHZhbHVlcyBhcmUgTm9TY2hlZHVsZSwgUHJlZmVyTm9TY2hlZHVsZSBhbmQgTm9FeGVjdXRlLiIsInR5cGUiOiJzdHJpbmcifSwia2V5Ijp7ImRlc2NyaXB0aW9uIjoiS2V5IGlzIHRoZSB0YWludCBrZXkgdGhhdCB0aGUgdG9sZXJhdGlvbiBhcHBsaWVzIHRvLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQga2V5cy5cbklmIHRoZSBrZXkgaXMgZW1wdHksIG9wZXJhdG9yIG11c3QgYmUgRXhpc3RzOyB0aGlzIGNvbWJpbmF0aW9uIG1lYW5zIHRvIG1hdGNoIGFsbCB2YWx1ZXMgYW5kIGFsbCBrZXlzLiIsInR5cGUiOiJzdHJpbmcifSwib3BlcmF0b3IiOnsiZGVzY3JpcHRpb24iOiJPcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIHRoZSB2YWx1ZS5cblZhbGlkIG9wZXJhdG9ycyBhcmUgRXhpc3RzLCBFcXVhbCwgTHQsIGFuZCBHdC4gRGVmYXVsdHMgdG8gRXF1YWwuXG5FeGlzdHMgaXMgZXF1aXZhbGVudCB0byB3aWxkY2FyZCBmb3IgdmFsdWUsIHNvIHRoYXQgYSBwb2QgY2FuXG50b2xlcmF0ZSBhbGwgdGFpbnRzIG9mIGEgcGFydGljdWxhciBjYXRlZ29yeS5cbkx0IGFuZCBHdCBwZXJmb3JtIG51bWVyaWMgY29tcGFyaXNvbnMgKHJlcXVpcmVzIGZlYXR1cmUgZ2F0ZSBUYWludFRvbGVyYXRpb25Db21wYXJpc29uT3BlcmF0b3JzKS4iLCJ0eXBlIjoic3RyaW5nIn0sInRvbGVyYXRpb25TZWNvbmRzIjp7ImRlc2NyaXB0aW9uIjoiVG9sZXJhdGlvblNlY29uZHMgcmVwcmVzZW50cyB0aGUgcGVyaW9kIG9mIHRpbWUgdGhlIHRvbGVyYXRpb24gKHdoaWNoIG11c3QgYmVcbm9mIGVmZmVjdCBOb0V4ZWN1dGUsIG90aGVyd2lzZSB0aGlzIGZpZWxkIGlzIGlnbm9yZWQpIHRvbGVyYXRlcyB0aGUgdGFpbnQuIEJ5IGRlZmF1bHQsXG5pdCBpcyBub3Qgc2V0LCB3aGljaCBtZWFucyB0b2xlcmF0ZSB0aGUgdGFpbnQgZm9yZXZlciAoZG8gbm90IGV2aWN0KS4gWmVybyBhbmRcbm5lZ2F0aXZlIHZhbHVlcyB3aWxsIGJlIHRyZWF0ZWQgYXMgMCAoZXZpY3QgaW1tZWRpYXRlbHkpIGJ5IHRoZSBzeXN0ZW0uIiwiZm9ybWF0IjoiaW50NjQiLCJ0eXBlIjoiaW50ZWdlciJ9LCJ2YWx1ZSI6eyJkZXNjcmlwdGlvbiI6IlZhbHVlIGlzIHRoZSB0YWludCB2YWx1ZSB0aGUgdG9sZXJhdGlvbiBtYXRjaGVzIHRvLlxuSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cywgdGhlIHZhbHVlIHNob3VsZCBiZSBlbXB0eSwgb3RoZXJ3aXNlIGp1c3QgYSByZWd1bGFyIHN0cmluZy4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9fSwidHlwZSI6Im9iamVjdCJ9LCJlbnZWYXJzIjp7ImRlc2NyaXB0aW9uIjoiQ3VzdG9tIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgb24gbWFuYWdlZCBwb2RzJyBjb250YWluZXJzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiRW52VmFyIHJlcHJlc2VudHMgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgcHJlc2VudCBpbiBhIENvbnRhaW5lci4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJOYW1lIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbk1heSBjb25zaXN0IG9mIGFueSBwcmludGFibGUgQVNDSUkgY2hhcmFjdGVycyBleGNlcHQgJz0nLiIsInR5cGUiOiJzdHJpbmcifSwidmFsdWUiOnsiZGVzY3JpcHRpb24iOiJWYXJpYWJsZSByZWZlcmVuY2VzICQoVkFSX05BTUUpIGFyZSBleHBhbmRlZFxudXNpbmcgdGhlIHByZXZpb3VzbHkgZGVmaW5lZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgaW4gdGhlIGNvbnRhaW5lciBhbmRcbmFueSBzZXJ2aWNlIGVudmlyb25tZW50IHZhcmlhYmxlcy4gSWYgYSB2YXJpYWJsZSBjYW5ub3QgYmUgcmVzb2x2ZWQsXG50aGUgcmVmZXJlbmNlIGluIHRoZSBpbnB1dCBzdHJpbmcgd2lsbCBiZSB1bmNoYW5nZWQuIERvdWJsZSAkJCBhcmUgcmVkdWNlZFxudG8gYSBzaW5nbGUgJCwgd2hpY2ggYWxsb3dzIGZvciBlc2NhcGluZyB0aGUgJChWQVJfTkFNRSkgc3ludGF4OiBpLmUuXG5cIiQkKFZBUl9OQU1FKVwiIHdpbGwgcHJvZHVjZSB0aGUgc3RyaW5nIGxpdGVyYWwgXCIkKFZBUl9OQU1FKVwiLlxuRXNjYXBlZCByZWZlcmVuY2VzIHdpbGwgbmV2ZXIgYmUgZXhwYW5kZWQsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgdmFyaWFibGVcbmV4aXN0cyBvciBub3QuXG5EZWZhdWx0cyB0byBcIlwiLiIsInR5cGUiOiJzdHJpbmcifSwidmFsdWVGcm9tIjp7ImRlc2NyaXB0aW9uIjoiU291cmNlIGZvciB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUncyB2YWx1ZS4gQ2Fubm90IGJlIHVzZWQgaWYgdmFsdWUgaXMgbm90IGVtcHR5LiIsInByb3BlcnRpZXMiOnsiY29uZmlnTWFwS2V5UmVmIjp7ImRlc2NyaXB0aW9uIjoiU2VsZWN0cyBhIGtleSBvZiBhIENvbmZpZ01hcC4iLCJwcm9wZXJ0aWVzIjp7ImtleSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBrZXkgdG8gc2VsZWN0LiIsInR5cGUiOiJzdHJpbmcifSwibmFtZSI6eyJkZWZhdWx0IjoiIiwiZGVzY3JpcHRpb24iOiJOYW1lIG9mIHRoZSByZWZlcmVudC5cblRoaXMgZmllbGQgaXMgZWZmZWN0aXZlbHkgcmVxdWlyZWQsIGJ1dCBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgaXNcbmFsbG93ZWQgdG8gYmUgZW1wdHkuIEluc3RhbmNlcyBvZiB0aGlzIHR5cGUgd2l0aCBhbiBlbXB0eSB2YWx1ZSBoZXJlIGFyZVxuYWxtb3N0IGNlcnRhaW5seSB3cm9uZy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvb3ZlcnZpZXcvd29ya2luZy13aXRoLW9iamVjdHMvbmFtZXMvI25hbWVzIiwidHlwZSI6InN0cmluZyJ9LCJvcHRpb25hbCI6eyJkZXNjcmlwdGlvbiI6IlNwZWNpZnkgd2hldGhlciB0aGUgQ29uZmlnTWFwIG9yIGl0cyBrZXkgbXVzdCBiZSBkZWZpbmVkIiwidHlwZSI6ImJvb2xlYW4ifX0sInJlcXVpcmVkIjpbImtleSJdLCJ0eXBlIjoib2JqZWN0IiwieC1rdWJlcm5ldGVzLW1hcC10eXBlIjoiYXRvbWljIn0sImZpZWxkUmVmIjp7ImRlc2NyaXB0aW9uIjoiU2VsZWN0cyBhIGZpZWxkIG9mIHRoZSBwb2Q6IHN1cHBvcnRzIG1ldGFkYXRhLm5hbWUsIG1ldGFkYXRhLm5hbWVzcGFjZSwgYG1ldGFkYXRhLmxhYmVsc1snXHUwMDNjS0VZXHUwMDNlJ11gLCBgbWV0YWRhdGEuYW5ub3RhdGlvbnNbJ1x1MDAzY0tFWVx1MDAzZSddYCxcbnNwZWMubm9kZU5hbWUsIHNwZWMuc2VydmljZUFjY291bnROYW1lLCBzdGF0dXMuaG9zdElQLCBzdGF0dXMucG9kSVAsIHN0YXR1cy5wb2RJUHMuIiwicHJvcGVydGllcyI6eyJhcGlWZXJzaW9uIjp7ImRlc2NyaXB0aW9uIjoiVmVyc2lvbiBvZiB0aGUgc2NoZW1hIHRoZSBGaWVsZFBhdGggaXMgd3JpdHRlbiBpbiB0ZXJtcyBvZiwgZGVmYXVsdHMgdG8gXCJ2MVwiLiIsInR5cGUiOiJzdHJpbmcifSwiZmllbGRQYXRoIjp7ImRlc2NyaXB0aW9uIjoiUGF0aCBvZiB0aGUgZmllbGQgdG8gc2VsZWN0IGluIHRoZSBzcGVjaWZpZWQgQVBJIHZlcnNpb24uIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiZmllbGRQYXRoIl0sInR5cGUiOiJvYmplY3QiLCJ4LWt1YmVybmV0ZXMtbWFwLXR5cGUiOiJhdG9taWMifSwiZmlsZUtleVJlZiI6eyJkZXNjcmlwdGlvbiI6IkZpbGVLZXlSZWYgc2VsZWN0cyBhIGtleSBvZiB0aGUgZW52IGZpbGUuXG5SZXF1aXJlcyB0aGUgRW52RmlsZXMgZmVhdHVyZSBnYXRlIHRvIGJlIGVuYWJsZWQuIiwicHJvcGVydGllcyI6eyJrZXkiOnsiZGVzY3JpcHRpb24iOiJUaGUga2V5IHdpdGhpbiB0aGUgZW52IGZpbGUuIEFuIGludmFsaWQga2V5IHdpbGwgcHJldmVudCB0aGUgcG9kIGZyb20gc3RhcnRpbmcuXG5UaGUga2V5cyBkZWZpbmVkIHdpdGhpbiBhIHNvdXJjZSBtYXkgY29uc2lzdCBvZiBhbnkgcHJpbnRhYmxlIEFTQ0lJIGNoYXJhY3RlcnMgZXhjZXB0ICc9Jy5cbkR1cmluZyBBbHBoYSBzdGFnZSBvZiB0aGUgRW52RmlsZXMgZmVhdHVyZSBnYXRlLCB0aGUga2V5IHNpemUgaXMgbGltaXRlZCB0byAxMjggY2hhcmFjdGVycy4iLCJ0eXBlIjoic3RyaW5nIn0sIm9wdGlvbmFsIjp7ImRlZmF1bHQiOmZhbHNlLCJkZXNjcmlwdGlvbiI6IlNwZWNpZnkgd2hldGhlciB0aGUgZmlsZSBvciBpdHMga2V5IG11c3QgYmUgZGVmaW5lZC4gSWYgdGhlIGZpbGUgb3Iga2V5XG5kb2VzIG5vdCBleGlzdCwgdGhlbiB0aGUgZW52IHZhciBpcyBub3QgcHVibGlzaGVkLlxuSWYgb3B0aW9uYWwgaXMgc2V0IHRvIHRydWUgYW5kIHRoZSBzcGVjaWZpZWQga2V5IGRvZXMgbm90IGV4aXN0LFxudGhlIGVudmlyb25tZW50IHZhcmlhYmxlIHdpbGwgbm90IGJlIHNldCBpbiB0aGUgUG9kJ3MgY29udGFpbmVycy5cblxuSWYgb3B0aW9uYWwgaXMgc2V0IHRvIGZhbHNlIGFuZCB0aGUgc3BlY2lmaWVkIGtleSBkb2VzIG5vdCBleGlzdCxcbmFuIGVycm9yIHdpbGwgYmUgcmV0dXJuZWQgZHVyaW5nIFBvZCBjcmVhdGlvbi4iLCJ0eXBlIjoiYm9vbGVhbiJ9LCJwYXRoIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHBhdGggd2l0aGluIHRoZSB2b2x1bWUgZnJvbSB3aGljaCB0byBzZWxlY3QgdGhlIGZpbGUuXG5NdXN0IGJlIHJlbGF0aXZlIGFuZCBtYXkgbm90IGNvbnRhaW4gdGhlICcuLicgcGF0aCBvciBzdGFydCB3aXRoICcuLicuIiwidHlwZSI6InN0cmluZyJ9LCJ2b2x1bWVOYW1lIjp7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIHZvbHVtZSBtb3VudCBjb250YWluaW5nIHRoZSBlbnYgZmlsZS4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJrZXkiLCJwYXRoIiwidm9sdW1lTmFtZSJdLCJ0eXBlIjoib2JqZWN0IiwieC1rdWJlcm5ldGVzLW1hcC10eXBlIjoiYXRvbWljIn0sInJlc291cmNlRmllbGRSZWYiOnsiZGVzY3JpcHRpb24iOiJTZWxlY3RzIGEgcmVzb3VyY2Ugb2YgdGhlIGNvbnRhaW5lcjogb25seSByZXNvdXJjZXMgbGltaXRzIGFuZCByZXF1ZXN0c1xuKGxpbWl0cy5jcHUsIGxpbWl0cy5tZW1vcnksIGxpbWl0cy5lcGhlbWVyYWwtc3RvcmFnZSwgcmVxdWVzdHMuY3B1LCByZXF1ZXN0cy5tZW1vcnkgYW5kIHJlcXVlc3RzLmVwaGVtZXJhbC1zdG9yYWdlKSBhcmUgY3VycmVudGx5IHN1cHBvcnRlZC4iLCJwcm9wZXJ0aWVzIjp7ImNvbnRhaW5lck5hbWUiOnsiZGVzY3JpcHRpb24iOiJDb250YWluZXIgbmFtZTogcmVxdWlyZWQgZm9yIHZvbHVtZXMsIG9wdGlvbmFsIGZvciBlbnYgdmFycyIsInR5cGUiOiJzdHJpbmcifSwiZGl2aXNvciI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sImRlc2NyaXB0aW9uIjoiU3BlY2lmaWVzIHRoZSBvdXRwdXQgZm9ybWF0IG9mIHRoZSBleHBvc2VkIHJlc291cmNlcywgZGVmYXVsdHMgdG8gXCIxXCIiLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sInJlc291cmNlIjp7ImRlc2NyaXB0aW9uIjoiUmVxdWlyZWQ6IHJlc291cmNlIHRvIHNlbGVjdCIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbInJlc291cmNlIl0sInR5cGUiOiJvYmplY3QiLCJ4LWt1YmVybmV0ZXMtbWFwLXR5cGUiOiJhdG9taWMifSwic2VjcmV0S2V5UmVmIjp7ImRlc2NyaXB0aW9uIjoiU2VsZWN0cyBhIGtleSBvZiBhIHNlY3JldCBpbiB0aGUgcG9kJ3MgbmFtZXNwYWNlIiwicHJvcGVydGllcyI6eyJrZXkiOnsiZGVzY3JpcHRpb24iOiJUaGUga2V5IG9mIHRoZSBzZWNyZXQgdG8gc2VsZWN0IGZyb20uICBNdXN0IGJlIGEgdmFsaWQgc2VjcmV0IGtleS4iLCJ0eXBlIjoic3RyaW5nIn0sIm5hbWUiOnsiZGVmYXVsdCI6IiIsImRlc2NyaXB0aW9uIjoiTmFtZSBvZiB0aGUgcmVmZXJlbnQuXG5UaGlzIGZpZWxkIGlzIGVmZmVjdGl2ZWx5IHJlcXVpcmVkLCBidXQgZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGlzXG5hbGxvd2VkIHRvIGJlIGVtcHR5LiBJbnN0YW5jZXMgb2YgdGhpcyB0eXBlIHdpdGggYW4gZW1wdHkgdmFsdWUgaGVyZSBhcmVcbmFsbW9zdCBjZXJ0YWlubHkgd3JvbmcuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL292ZXJ2aWV3L3dvcmtpbmctd2l0aC1vYmplY3RzL25hbWVzLyNuYW1lcyIsInR5cGUiOiJzdHJpbmcifSwib3B0aW9uYWwiOnsiZGVzY3JpcHRpb24iOiJTcGVjaWZ5IHdoZXRoZXIgdGhlIFNlY3JldCBvciBpdHMga2V5IG11c3QgYmUgZGVmaW5lZCIsInR5cGUiOiJib29sZWFuIn19LCJyZXF1aXJlZCI6WyJrZXkiXSwidHlwZSI6Im9iamVjdCIsIngta3ViZXJuZXRlcy1tYXAtdHlwZSI6ImF0b21pYyJ9fSwidHlwZSI6Im9iamVjdCJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJsYWJlbHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9LCJkZXNjcmlwdGlvbiI6IkN1c3RvbSBsYWJlbHMgdG8gc2V0IG9uIGFsbCBtYW5hZ2VkIG9iamVjdHMuIiwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJlZ3Jlc3MiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyByZWxhdGVkIHRvIG91dGdvaW5nIG5ldHdvcmsgdHJhZmZpYy4iLCJwcm9wZXJ0aWVzIjp7ImNvbm5lY3Rpdml0eVBvbGljeSI6eyJkZXNjcmlwdGlvbiI6IkNvbmZpZ3VyZXMgd2hldGhlciBSZWQgSGF0IEFkdmFuY2VkIENsdXN0ZXIgU2VjdXJpdHkgc2hvdWxkIHJ1biBpbiBvbmxpbmUgb3Igb2ZmbGluZSAoZGlzY29ubmVjdGVkKSBtb2RlLlxuSW4gb2ZmbGluZSBtb2RlLCBhdXRvbWF0aWMgdXBkYXRlcyBvZiB2dWxuZXJhYmlsaXR5IGRlZmluaXRpb25zIGFuZCBrZXJuZWwgbW9kdWxlcyBhcmUgZGlzYWJsZWQuXG5UaGUgZGVmYXVsdCBpczogT25saW5lLiIsImVudW0iOlsiT25saW5lIiwiT2ZmbGluZSJdLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sImltYWdlUHVsbFNlY3JldHMiOnsiZGVzY3JpcHRpb24iOiJBZGRpdGlvbmFsIGltYWdlIHB1bGwgc2VjcmV0cyB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgZm9yIHB1bGxpbmcgaW1hZ2VzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiTG9jYWxTZWNyZXRSZWZlcmVuY2UgaXMgYSByZWZlcmVuY2UgdG8gYSBzZWNyZXQgd2l0aGluIHRoZSBzYW1lIG5hbWVzcGFjZS4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBzZWNyZXQuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJtaXNjIjp7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cbk1pc2NlbGxhbmVvdXMgc2V0dGluZ3MuIiwicHJvcGVydGllcyI6eyJjcmVhdGVTQ0NzIjp7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cblNldCB0aGlzIHRvIHRydWUgdG8gaGF2ZSB0aGUgb3BlcmF0b3IgY3JlYXRlIFNlY3VyaXR5Q29udGV4dENvbnN0cmFpbnRzIChTQ0NzKSBmb3IgdGhlIG9wZXJhbmRzLiBUaGlzXG5pc24ndCB1c3VhbGx5IG5lZWRlZCwgYW5kIG1heSBpbnRlcmZlcmUgd2l0aCBvdGhlciB3b3JrbG9hZHMuIiwidHlwZSI6ImJvb2xlYW4ifX0sInR5cGUiOiJvYmplY3QifSwibW9uaXRvcmluZyI6eyJkZXNjcmlwdGlvbiI6Ik1vbml0b3JpbmcgY29uZmlndXJhdGlvbi4iLCJwcm9wZXJ0aWVzIjp7Im9wZW5zaGlmdCI6eyJkZXNjcmlwdGlvbiI6Ik9wZW5TaGlmdE1vbml0b3JpbmcgZGVmaW5lcyBzZXR0aW5ncyByZWxhdGVkIHRvIE9wZW5TaGlmdCBNb25pdG9yaW5nIiwicHJvcGVydGllcyI6eyJlbmFibGVkIjp7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IHRydWUuIiwidHlwZSI6ImJvb2xlYW4ifX0sInJlcXVpcmVkIjpbImVuYWJsZWQiXSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJuZXR3b3JrIjp7ImRlc2NyaXB0aW9uIjoiTmV0d29yayBjb25maWd1cmF0aW9uLiIsInByb3BlcnRpZXMiOnsicG9saWNpZXMiOnsiZGVzY3JpcHRpb24iOiJUbyBwcm92aWRlIHNlY3VyaXR5IGF0IHRoZSBuZXR3b3JrIGxldmVsLCB0aGUgQUNTIE9wZXJhdG9yIGNyZWF0ZXMgTmV0d29ya1BvbGljeSByZXNvdXJjZXMgYnkgZGVmYXVsdC4gSWYgeW91IHdhbnQgdG8gbWFuYWdlIHlvdXIgb3duIE5ldHdvcmtQb2xpY3kgb2JqZWN0cyB0aGVuIHNldCB0aGlzIHRvIFwiRGlzYWJsZWRcIi5cblRoZSBkZWZhdWx0IGlzOiBFbmFibGVkLiIsImVudW0iOlsiRW5hYmxlZCIsIkRpc2FibGVkIl0sInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwib3ZlcmxheXMiOnsiZGVzY3JpcHRpb24iOiJPdmVybGF5cyIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiSzhzT2JqZWN0T3ZlcmxheSBpcyBhbiBvdmVybGF5IHRoYXQgYXBwbGllcyBhIHNldCBvZiBwYXRjaGVzIHRvIGEgcmVzb3VyY2UuXG5JdCB0YXJnZXRzIGEgcmVzb3VyY2UgYnkgaXRzIEFQSSB2ZXJzaW9uLCBraW5kLCBhbmQgbmFtZSwgYW5kIGFwcGxpZXNcbmEgbGlzdCBvZiBwYXRjaGVzIHRvIHRoaXMgcmVzb3VyY2UuXG5cbiMgRXhhbXBsZXNcblxuIyMgQWRkaW5nIGFuIGFubm90YXRpb24gdG8gYSByZXNvdXJjZVxuXG5cdGFwaVZlcnNpb246IHYxXG5cdGtpbmQ6IFNlcnZpY2VBY2NvdW50XG5cdG5hbWU6IGNlbnRyYWxcblx0cGF0Y2hlczpcblx0LSBwYXRoOiBtZXRhZGF0YS5hbm5vdGF0aW9ucy5la3NcXC5hbWF6b25hd3NcXC5jb20vcm9sZS1hcm5cblx0ICB2YWx1ZTogXCJcXFwiYXJuOmF3czppYW06MTIzNDpyb2xlXFxcIlwiXG5cbiMjIEFkZGluZyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBhIGRlcGxveW1lbnRcblxuXHRhcGlWZXJzaW9uOiBhcHBzL3YxXG5cdGtpbmQ6IERlcGxveW1lbnRcblx0bmFtZTogY2VudHJhbFxuXHRwYXRjaGVzOlxuXHQtIHBhdGg6IHNwZWMudGVtcGxhdGUuc3BlYy5jb250YWluZXJzW25hbWU6Y2VudHJhbF0uZW52Wy0xXVxuXHQgIHZhbHVlOiB8XG5cdCAgICBuYW1lOiBNWV9FTlZfVkFSXG5cdCAgICB2YWx1ZTogdmFsdWVcblxuIyMgQWRkaW5nIGFuIGluZ3Jlc3MgdG8gYSBuZXR3b3JrIHBvbGljeVxuXG5cdGFwaVZlcnNpb246IG5ldHdvcmtpbmcuazhzLmlvL3YxXG5cdGtpbmQ6IE5ldHdvcmtQb2xpY3lcblx0bmFtZTogYWxsb3ctZXh0LXRvLWNlbnRyYWxcblx0cGF0Y2hlczpcblx0LSBwYXRoOiBzcGVjLmluZ3Jlc3NbLTFdXG5cdCAgdmFsdWU6IHxcblx0ICAgIHBvcnRzOlxuXHQgICAgLSBwb3J0OiA5OTlcblx0ICAgICAgcHJvdG9jb2w6IFRDUFxuXG4jIyBDaGFuZ2luZyB0aGUgdmFsdWUgb2YgYSBDb25maWdNYXBcblxuXHRhcGlWZXJzaW9uOiB2MVxuXHRraW5kOiBDb25maWdNYXBcblx0bmFtZTogY2VudHJhbC1lbmRwb2ludHNcblx0cGF0Y2hlczpcblx0LSBwYXRoOiBkYXRhLmVuZHBvaW50c1xcLnlhbWw6XG5cdCAgdmVyYmF0aW06IHxcblx0ICAgIGRpc2FibGVEZWZhdWx0OiBmYWxzZVxuXG4jIyBBZGRpbmcgYSBjb250YWluZXIgdG8gYSBkZXBsb3ltZW50XG5cblx0YXBpVmVyc2lvbjogYXBwcy92MVxuXHRraW5kOiBEZXBsb3ltZW50XG5cdG5hbWU6IGNlbnRyYWxcblx0cGF0Y2hlczpcblx0ICAtIHBhdGg6IHNwZWMudGVtcGxhdGUuc3BlYy5jb250YWluZXJzWy0xXVxuXHQgICAgdmFsdWU6IHxcblx0ICAgICAgbmFtZTogbmdpbnhcblx0ICAgICAgaW1hZ2U6IG5naW54XG5cdCAgICAgIHBvcnRzOlxuXHQgICAgICAtIGNvbnRhaW5lclBvcnQ6IDgwMDBcblx0ICAgICAgICBuYW1lOiBodHRwXG5cdCAgICAgICAgcHJvdG9jb2w6IFRDUCIsInByb3BlcnRpZXMiOnsiYXBpVmVyc2lvbiI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlIEFQSSB2ZXJzaW9uLiIsInR5cGUiOiJzdHJpbmcifSwia2luZCI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlIGtpbmQuIiwidHlwZSI6InN0cmluZyJ9LCJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTmFtZSBvZiByZXNvdXJjZS4iLCJ0eXBlIjoic3RyaW5nIn0sIm9wdGlvbmFsIjp7ImRlc2NyaXB0aW9uIjoiT3B0aW9uYWwgbWFya3MgdGhlIG92ZXJsYXkgYXMgb3B0aW9uYWwuXG5XaGVuIE9wdGlvbmFsIGlzIHRydWUsIGFuZCB0aGUgc3BlY2lmaWVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0IGluIHRoZSBvdXRwdXQgbWFuaWZlc3RzLCB0aGUgb3ZlcmxheSB3aWxsIGJlIHNraXBwZWQsIGFuZCBhIHdhcm5pbmcgd2lsbCBiZSBsb2dnZWQuXG5XaGVuIE9wdGlvbmFsIGlzIGZhbHNlLCBhbmQgdGhlIHNwZWNpZmllZCByZXNvdXJjZSBkb2VzIG5vdCBleGlzdCBpbiB0aGUgb3V0cHV0IG1hbmlmZXN0cywgYW4gZXJyb3Igd2lsbCBiZSB0aHJvd24uIiwidHlwZSI6ImJvb2xlYW4ifSwicGF0Y2hlcyI6eyJkZXNjcmlwdGlvbiI6Ikxpc3Qgb2YgcGF0Y2hlcyB0byBhcHBseSB0byByZXNvdXJjZS4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6Iks4c09iamVjdE92ZXJsYXlQYXRjaCBkZWZpbmVzIGEgcGF0Y2ggdG8gYXBwbHkgdG8gYSByZXNvdXJjZS4iLCJwcm9wZXJ0aWVzIjp7InBhdGgiOnsiZGVzY3JpcHRpb24iOiJQYXRoIG9mIHRoZSBmb3JtIGEuW2tleTE6dmFsdWUxXS5iLls6dmFsdWUyXVxuV2hlcmUgW2tleTE6dmFsdWUxXSBpcyBhIHNlbGVjdG9yIGZvciBhIGtleS12YWx1ZSBwYWlyIHRvIGlkZW50aWZ5IGEgbGlzdCBlbGVtZW50IGFuZCBbOnZhbHVlXSBpcyBhIHZhbHVlXG5zZWxlY3RvciB0byBpZGVudGlmeSBhIGxpc3QgZWxlbWVudCBpbiBhIGxlYWYgbGlzdC5cbkFsbCBwYXRoIGludGVybWVkaWF0ZSBub2RlcyBtdXN0IGV4aXN0LiIsInR5cGUiOiJzdHJpbmcifSwidmFsdWUiOnsiZGVzY3JpcHRpb24iOiJWYWx1ZSB0byBhZGQsIGRlbGV0ZSBvciByZXBsYWNlLlxuRm9yIGFkZCwgdGhlIHBhdGggc2hvdWxkIGJlIGEgbmV3IGxlYWYuXG5Gb3IgZGVsZXRlLCB2YWx1ZSBzaG91bGQgYmUgdW5zZXQuXG5Gb3IgcmVwbGFjZSwgcGF0aCBzaG91bGQgcmVmZXJlbmNlIGFuIGV4aXN0aW5nIG5vZGUuXG5BbGwgdmFsdWVzIGFyZSBzdHJpbmdzIGJ1dCBhcmUgY29udmVydGVkIGludG8gYXBwcm9wcmlhdGUgdHlwZSBiYXNlZCBvbiBzY2hlbWEuIiwidHlwZSI6InN0cmluZyJ9LCJ2ZXJiYXRpbSI6eyJkZXNjcmlwdGlvbiI6IlZlcmJhdGltIHZhbHVlIHRvIGFkZCwgZGVsZXRlIG9yIHJlcGxhY2UuXG5TYW1lIGFzIFZhbHVlLCBidXQgdGhlIGNvbnRlbnQgaXMgbm90IGludGVycHJldGVkIGFzIFlBTUwgYW5kIGlzIHRyZWF0ZWQgYXMgYSBsaXRlcmFsIHN0cmluZyBpbnN0ZWFkLlxuQXQgbGVhc3Qgb25lIG9mIFZhbHVlIGFuZCBWZXJiYXRpbSBtdXN0IGJlIGVtcHR5LiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJzY2FubmVyIjp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBTY2FubmVyIGNvbXBvbmVudCwgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIHZ1bG5lcmFiaWxpdHkgc2Nhbm5pbmcgb2YgY29udGFpbmVyXG5pbWFnZXMuIiwicHJvcGVydGllcyI6eyJhbmFseXplciI6eyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIHBlcnRhaW5pbmcgdG8gdGhlIGFuYWx5emVyIGRlcGxveW1lbnQsIHN1Y2ggYXMgZm9yIGF1dG9zY2FsaW5nLiIsInByb3BlcnRpZXMiOnsiaG9zdEFsaWFzZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhcyBob2xkcyB0aGUgbWFwcGluZyBiZXR3ZWVuIElQIGFuZCBob3N0bmFtZXMgdGhhdCB3aWxsIGJlIGluamVjdGVkIGFzIGFuIGVudHJ5IGluIHRoZVxucG9kJ3MgaG9zdHMgZmlsZS4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RuYW1lcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RuYW1lcyBmb3IgdGhlIGFib3ZlIElQIGFkZHJlc3MuIiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoiYXRvbWljIn0sImlwIjp7ImRlc2NyaXB0aW9uIjoiSVAgYWRkcmVzcyBvZiB0aGUgaG9zdCBmaWxlIGVudHJ5LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbImlwIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In0sIm5vZGVTZWxlY3RvciI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsInR5cGUiOiJvYmplY3QifSwicmVzb3VyY2VzIjp7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJwcm9wZXJ0aWVzIjp7ImNsYWltcyI6eyJkZXNjcmlwdGlvbiI6IkNsYWltcyBsaXN0cyB0aGUgbmFtZXMgb2YgcmVzb3VyY2VzLCBkZWZpbmVkIGluIHNwZWMucmVzb3VyY2VDbGFpbXMsXG50aGF0IGFyZSB1c2VkIGJ5IHRoaXMgY29udGFpbmVyLlxuXG5UaGlzIGZpZWxkIGRlcGVuZHMgb24gdGhlXG5EeW5hbWljUmVzb3VyY2VBbGxvY2F0aW9uIGZlYXR1cmUgZ2F0ZS5cblxuVGhpcyBmaWVsZCBpcyBpbW11dGFibGUuIEl0IGNhbiBvbmx5IGJlIHNldCBmb3IgY29udGFpbmVycy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlQ2xhaW0gcmVmZXJlbmNlcyBvbmUgZW50cnkgaW4gUG9kU3BlYy5SZXNvdXJjZUNsYWltcy4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJOYW1lIG11c3QgbWF0Y2ggdGhlIG5hbWUgb2Ygb25lIGVudHJ5IGluIHBvZC5zcGVjLnJlc291cmNlQ2xhaW1zIG9mXG50aGUgUG9kIHdoZXJlIHRoaXMgZmllbGQgaXMgdXNlZC4gSXQgbWFrZXMgdGhhdCByZXNvdXJjZSBhdmFpbGFibGVcbmluc2lkZSBhIGNvbnRhaW5lci4iLCJ0eXBlIjoic3RyaW5nIn0sInJlcXVlc3QiOnsiZGVzY3JpcHRpb24iOiJSZXF1ZXN0IGlzIHRoZSBuYW1lIGNob3NlbiBmb3IgYSByZXF1ZXN0IGluIHRoZSByZWZlcmVuY2VkIGNsYWltLlxuSWYgZW1wdHksIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgY2xhaW0gaXMgbWFkZSBhdmFpbGFibGUsIG90aGVyd2lzZVxub25seSB0aGUgcmVzdWx0IG9mIHRoaXMgcmVxdWVzdC4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtbWFwLWtleXMiOlsibmFtZSJdLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoibWFwIn0sImxpbWl0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJMaW1pdHMgZGVzY3JpYmVzIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyBhbGxvd2VkLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In0sInJlcXVlc3RzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IlJlcXVlc3RzIGRlc2NyaWJlcyB0aGUgbWluaW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgcmVxdWlyZWQuXG5JZiBSZXF1ZXN0cyBpcyBvbWl0dGVkIGZvciBhIGNvbnRhaW5lciwgaXQgZGVmYXVsdHMgdG8gTGltaXRzIGlmIHRoYXQgaXMgZXhwbGljaXRseSBzcGVjaWZpZWQsXG5vdGhlcndpc2UgdG8gYW4gaW1wbGVtZW50YXRpb24tZGVmaW5lZCB2YWx1ZS4gUmVxdWVzdHMgY2Fubm90IGV4Y2VlZCBMaW1pdHMuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwic2NhbGluZyI6eyJkZXNjcmlwdGlvbiI6IkNvbnRyb2xzIHRoZSBudW1iZXIgb2YgYW5hbHl6ZXIgcmVwbGljYXMgYW5kIGF1dG9zY2FsaW5nLiIsInByb3BlcnRpZXMiOnsiYXV0b1NjYWxpbmciOnsiZGVzY3JpcHRpb24iOiJXaGVuIGVuYWJsZWQsIHRoZSBudW1iZXIgb2YgY29tcG9uZW50IHJlcGxpY2FzIGlzIG1hbmFnZWQgZHluYW1pY2FsbHkgYmFzZWQgb24gdGhlIGxvYWQsIHdpdGhpbiB0aGUgbGltaXRzXG5zcGVjaWZpZWQgYmVsb3cuXG5UaGUgZGVmYXVsdCBpczogRW5hYmxlZC4iLCJlbnVtIjpbIkVuYWJsZWQiLCJEaXNhYmxlZCJdLCJ0eXBlIjoic3RyaW5nIn0sIm1heFJlcGxpY2FzIjp7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IDUuIiwiZm9ybWF0IjoiaW50MzIiLCJtaW5pbXVtIjoxLCJ0eXBlIjoiaW50ZWdlciJ9LCJtaW5SZXBsaWNhcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBkZWZhdWx0IGlzOiAyLiIsImZvcm1hdCI6ImludDMyIiwibWluaW11bSI6MSwidHlwZSI6ImludGVnZXIifSwicmVwbGljYXMiOnsiZGVzY3JpcHRpb24iOiJXaGVuIGF1dG9zY2FsaW5nIGlzIGRpc2FibGVkLCB0aGUgbnVtYmVyIG9mIHJlcGxpY2FzIHdpbGwgYWx3YXlzIGJlIGNvbmZpZ3VyZWQgdG8gbWF0Y2ggdGhpcyB2YWx1ZS5cblRoZSBkZWZhdWx0IGlzOiAzLiIsImZvcm1hdCI6ImludDMyIiwibWluaW11bSI6MSwidHlwZSI6ImludGVnZXIifX0sInR5cGUiOiJvYmplY3QifSwidG9sZXJhdGlvbnMiOnsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHBvZCB0aGlzIFRvbGVyYXRpb24gaXMgYXR0YWNoZWQgdG8gdG9sZXJhdGVzIGFueSB0YWludCB0aGF0IG1hdGNoZXNcbnRoZSB0cmlwbGUgXHUwMDNja2V5LHZhbHVlLGVmZmVjdFx1MDAzZSB1c2luZyB0aGUgbWF0Y2hpbmcgb3BlcmF0b3IgXHUwMDNjb3BlcmF0b3JcdTAwM2UuIiwicHJvcGVydGllcyI6eyJlZmZlY3QiOnsiZGVzY3JpcHRpb24iOiJFZmZlY3QgaW5kaWNhdGVzIHRoZSB0YWludCBlZmZlY3QgdG8gbWF0Y2guIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBlZmZlY3RzLlxuV2hlbiBzcGVjaWZpZWQsIGFsbG93ZWQgdmFsdWVzIGFyZSBOb1NjaGVkdWxlLCBQcmVmZXJOb1NjaGVkdWxlIGFuZCBOb0V4ZWN1dGUuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJLZXkgaXMgdGhlIHRhaW50IGtleSB0aGF0IHRoZSB0b2xlcmF0aW9uIGFwcGxpZXMgdG8uIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBrZXlzLlxuSWYgdGhlIGtleSBpcyBlbXB0eSwgb3BlcmF0b3IgbXVzdCBiZSBFeGlzdHM7IHRoaXMgY29tYmluYXRpb24gbWVhbnMgdG8gbWF0Y2ggYWxsIHZhbHVlcyBhbmQgYWxsIGtleXMuIiwidHlwZSI6InN0cmluZyJ9LCJvcGVyYXRvciI6eyJkZXNjcmlwdGlvbiI6Ik9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gdGhlIHZhbHVlLlxuVmFsaWQgb3BlcmF0b3JzIGFyZSBFeGlzdHMsIEVxdWFsLCBMdCwgYW5kIEd0LiBEZWZhdWx0cyB0byBFcXVhbC5cbkV4aXN0cyBpcyBlcXVpdmFsZW50IHRvIHdpbGRjYXJkIGZvciB2YWx1ZSwgc28gdGhhdCBhIHBvZCBjYW5cbnRvbGVyYXRlIGFsbCB0YWludHMgb2YgYSBwYXJ0aWN1bGFyIGNhdGVnb3J5LlxuTHQgYW5kIEd0IHBlcmZvcm0gbnVtZXJpYyBjb21wYXJpc29ucyAocmVxdWlyZXMgZmVhdHVyZSBnYXRlIFRhaW50VG9sZXJhdGlvbkNvbXBhcmlzb25PcGVyYXRvcnMpLiIsInR5cGUiOiJzdHJpbmcifSwidG9sZXJhdGlvblNlY29uZHMiOnsiZGVzY3JpcHRpb24iOiJUb2xlcmF0aW9uU2Vjb25kcyByZXByZXNlbnRzIHRoZSBwZXJpb2Qgb2YgdGltZSB0aGUgdG9sZXJhdGlvbiAod2hpY2ggbXVzdCBiZVxub2YgZWZmZWN0IE5vRXhlY3V0ZSwgb3RoZXJ3aXNlIHRoaXMgZmllbGQgaXMgaWdub3JlZCkgdG9sZXJhdGVzIHRoZSB0YWludC4gQnkgZGVmYXVsdCxcbml0IGlzIG5vdCBzZXQsIHdoaWNoIG1lYW5zIHRvbGVyYXRlIHRoZSB0YWludCBmb3JldmVyIChkbyBub3QgZXZpY3QpLiBaZXJvIGFuZFxubmVnYXRpdmUgdmFsdWVzIHdpbGwgYmUgdHJlYXRlZCBhcyAwIChldmljdCBpbW1lZGlhdGVseSkgYnkgdGhlIHN5c3RlbS4iLCJmb3JtYXQiOiJpbnQ2NCIsInR5cGUiOiJpbnRlZ2VyIn0sInZhbHVlIjp7ImRlc2NyaXB0aW9uIjoiVmFsdWUgaXMgdGhlIHRhaW50IHZhbHVlIHRoZSB0b2xlcmF0aW9uIG1hdGNoZXMgdG8uXG5JZiB0aGUgb3BlcmF0b3IgaXMgRXhpc3RzLCB0aGUgdmFsdWUgc2hvdWxkIGJlIGVtcHR5LCBvdGhlcndpc2UganVzdCBhIHJlZ3VsYXIgc3RyaW5nLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sImRiIjp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcGVydGFpbmluZyB0byB0aGUgZGF0YWJhc2UgdXNlZCBieSB0aGUgUmVkIEhhdCBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5IFNjYW5uZXIuIiwicHJvcGVydGllcyI6eyJob3N0QWxpYXNlcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzIGhvbGRzIHRoZSBtYXBwaW5nIGJldHdlZW4gSVAgYW5kIGhvc3RuYW1lcyB0aGF0IHdpbGwgYmUgaW5qZWN0ZWQgYXMgYW4gZW50cnkgaW4gdGhlXG5wb2QncyBob3N0cyBmaWxlLiIsInByb3BlcnRpZXMiOnsiaG9zdG5hbWVzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdG5hbWVzIGZvciB0aGUgYWJvdmUgSVAgYWRkcmVzcy4iLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJhdG9taWMifSwiaXAiOnsiZGVzY3JpcHRpb24iOiJJUCBhZGRyZXNzIG9mIHRoZSBob3N0IGZpbGUgZW50cnkuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiaXAiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwibm9kZVNlbGVjdG9yIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwidHlwZSI6Im9iamVjdCJ9LCJyZXNvdXJjZXMiOnsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsInByb3BlcnRpZXMiOnsiY2xhaW1zIjp7ImRlc2NyaXB0aW9uIjoiQ2xhaW1zIGxpc3RzIHRoZSBuYW1lcyBvZiByZXNvdXJjZXMsIGRlZmluZWQgaW4gc3BlYy5yZXNvdXJjZUNsYWltcyxcbnRoYXQgYXJlIHVzZWQgYnkgdGhpcyBjb250YWluZXIuXG5cblRoaXMgZmllbGQgZGVwZW5kcyBvbiB0aGVcbkR5bmFtaWNSZXNvdXJjZUFsbG9jYXRpb24gZmVhdHVyZSBnYXRlLlxuXG5UaGlzIGZpZWxkIGlzIGltbXV0YWJsZS4gSXQgY2FuIG9ubHkgYmUgc2V0IGZvciBjb250YWluZXJzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiUmVzb3VyY2VDbGFpbSByZWZlcmVuY2VzIG9uZSBlbnRyeSBpbiBQb2RTcGVjLlJlc291cmNlQ2xhaW1zLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik5hbWUgbXVzdCBtYXRjaCB0aGUgbmFtZSBvZiBvbmUgZW50cnkgaW4gcG9kLnNwZWMucmVzb3VyY2VDbGFpbXMgb2ZcbnRoZSBQb2Qgd2hlcmUgdGhpcyBmaWVsZCBpcyB1c2VkLiBJdCBtYWtlcyB0aGF0IHJlc291cmNlIGF2YWlsYWJsZVxuaW5zaWRlIGEgY29udGFpbmVyLiIsInR5cGUiOiJzdHJpbmcifSwicmVxdWVzdCI6eyJkZXNjcmlwdGlvbiI6IlJlcXVlc3QgaXMgdGhlIG5hbWUgY2hvc2VuIGZvciBhIHJlcXVlc3QgaW4gdGhlIHJlZmVyZW5jZWQgY2xhaW0uXG5JZiBlbXB0eSwgZXZlcnl0aGluZyBmcm9tIHRoZSBjbGFpbSBpcyBtYWRlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlXG5vbmx5IHRoZSByZXN1bHQgb2YgdGhpcyByZXF1ZXN0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC1tYXAta2V5cyI6WyJuYW1lIl0sIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJtYXAifSwibGltaXRzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IkxpbWl0cyBkZXNjcmliZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIGFsbG93ZWQuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifSwicmVxdWVzdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiUmVxdWVzdHMgZGVzY3JpYmVzIHRoZSBtaW5pbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyByZXF1aXJlZC5cbklmIFJlcXVlc3RzIGlzIG9taXR0ZWQgZm9yIGEgY29udGFpbmVyLCBpdCBkZWZhdWx0cyB0byBMaW1pdHMgaWYgdGhhdCBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCxcbm90aGVyd2lzZSB0byBhbiBpbXBsZW1lbnRhdGlvbi1kZWZpbmVkIHZhbHVlLiBSZXF1ZXN0cyBjYW5ub3QgZXhjZWVkIExpbWl0cy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0b2xlcmF0aW9ucyI6eyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJUaGUgcG9kIHRoaXMgVG9sZXJhdGlvbiBpcyBhdHRhY2hlZCB0byB0b2xlcmF0ZXMgYW55IHRhaW50IHRoYXQgbWF0Y2hlc1xudGhlIHRyaXBsZSBcdTAwM2NrZXksdmFsdWUsZWZmZWN0XHUwMDNlIHVzaW5nIHRoZSBtYXRjaGluZyBvcGVyYXRvciBcdTAwM2NvcGVyYXRvclx1MDAzZS4iLCJwcm9wZXJ0aWVzIjp7ImVmZmVjdCI6eyJkZXNjcmlwdGlvbiI6IkVmZmVjdCBpbmRpY2F0ZXMgdGhlIHRhaW50IGVmZmVjdCB0byBtYXRjaC4gRW1wdHkgbWVhbnMgbWF0Y2ggYWxsIHRhaW50IGVmZmVjdHMuXG5XaGVuIHNwZWNpZmllZCwgYWxsb3dlZCB2YWx1ZXMgYXJlIE5vU2NoZWR1bGUsIFByZWZlck5vU2NoZWR1bGUgYW5kIE5vRXhlY3V0ZS4iLCJ0eXBlIjoic3RyaW5nIn0sImtleSI6eyJkZXNjcmlwdGlvbiI6IktleSBpcyB0aGUgdGFpbnQga2V5IHRoYXQgdGhlIHRvbGVyYXRpb24gYXBwbGllcyB0by4gRW1wdHkgbWVhbnMgbWF0Y2ggYWxsIHRhaW50IGtleXMuXG5JZiB0aGUga2V5IGlzIGVtcHR5LCBvcGVyYXRvciBtdXN0IGJlIEV4aXN0czsgdGhpcyBjb21iaW5hdGlvbiBtZWFucyB0byBtYXRjaCBhbGwgdmFsdWVzIGFuZCBhbGwga2V5cy4iLCJ0eXBlIjoic3RyaW5nIn0sIm9wZXJhdG9yIjp7ImRlc2NyaXB0aW9uIjoiT3BlcmF0b3IgcmVwcmVzZW50cyBhIGtleSdzIHJlbGF0aW9uc2hpcCB0byB0aGUgdmFsdWUuXG5WYWxpZCBvcGVyYXRvcnMgYXJlIEV4aXN0cywgRXF1YWwsIEx0LCBhbmQgR3QuIERlZmF1bHRzIHRvIEVxdWFsLlxuRXhpc3RzIGlzIGVxdWl2YWxlbnQgdG8gd2lsZGNhcmQgZm9yIHZhbHVlLCBzbyB0aGF0IGEgcG9kIGNhblxudG9sZXJhdGUgYWxsIHRhaW50cyBvZiBhIHBhcnRpY3VsYXIgY2F0ZWdvcnkuXG5MdCBhbmQgR3QgcGVyZm9ybSBudW1lcmljIGNvbXBhcmlzb25zIChyZXF1aXJlcyBmZWF0dXJlIGdhdGUgVGFpbnRUb2xlcmF0aW9uQ29tcGFyaXNvbk9wZXJhdG9ycykuIiwidHlwZSI6InN0cmluZyJ9LCJ0b2xlcmF0aW9uU2Vjb25kcyI6eyJkZXNjcmlwdGlvbiI6IlRvbGVyYXRpb25TZWNvbmRzIHJlcHJlc2VudHMgdGhlIHBlcmlvZCBvZiB0aW1lIHRoZSB0b2xlcmF0aW9uICh3aGljaCBtdXN0IGJlXG5vZiBlZmZlY3QgTm9FeGVjdXRlLCBvdGhlcndpc2UgdGhpcyBmaWVsZCBpcyBpZ25vcmVkKSB0b2xlcmF0ZXMgdGhlIHRhaW50LiBCeSBkZWZhdWx0LFxuaXQgaXMgbm90IHNldCwgd2hpY2ggbWVhbnMgdG9sZXJhdGUgdGhlIHRhaW50IGZvcmV2ZXIgKGRvIG5vdCBldmljdCkuIFplcm8gYW5kXG5uZWdhdGl2ZSB2YWx1ZXMgd2lsbCBiZSB0cmVhdGVkIGFzIDAgKGV2aWN0IGltbWVkaWF0ZWx5KSBieSB0aGUgc3lzdGVtLiIsImZvcm1hdCI6ImludDY0IiwidHlwZSI6ImludGVnZXIifSwidmFsdWUiOnsiZGVzY3JpcHRpb24iOiJWYWx1ZSBpcyB0aGUgdGFpbnQgdmFsdWUgdGhlIHRvbGVyYXRpb24gbWF0Y2hlcyB0by5cbklmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMsIHRoZSB2YWx1ZSBzaG91bGQgYmUgZW1wdHksIG90aGVyd2lzZSBqdXN0IGEgcmVndWxhciBzdHJpbmcuIiwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifX0sInR5cGUiOiJvYmplY3QifSwibW9uaXRvcmluZyI6eyJkZXNjcmlwdGlvbiI6IkNvbmZpZ3VyZXMgbW9uaXRvcmluZyBlbmRwb2ludCBmb3IgU2Nhbm5lci4gVGhlIG1vbml0b3JpbmcgZW5kcG9pbnRcbmFsbG93cyBvdGhlciBzZXJ2aWNlcyB0byBjb2xsZWN0IG1ldHJpY3MgZnJvbSBTY2FubmVyLCBwcm92aWRlZCBpblxuUHJvbWV0aGV1cyBjb21wYXRpYmxlIGZvcm1hdC4iLCJwcm9wZXJ0aWVzIjp7ImV4cG9zZUVuZHBvaW50Ijp7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIHRoZSBtb25pdG9yaW5nIGVuZHBvaW50LiBBIG5ldyBzZXJ2aWNlLCBcIm1vbml0b3JpbmdcIixcbndpdGggcG9ydCA5MDkwLCB3aWxsIGJlIGNyZWF0ZWQgYXMgd2VsbCBhcyBhIG5ldHdvcmsgcG9saWN5IGFsbG93aW5nXG5pbmJvdW5kIGNvbm5lY3Rpb25zIHRvIHRoZSBwb3J0LiIsImVudW0iOlsiRW5hYmxlZCIsIkRpc2FibGVkIl0sInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwic2Nhbm5lckNvbXBvbmVudCI6eyJkZXNjcmlwdGlvbiI6IklmIHlvdSBkbyBub3Qgd2FudCB0byBkZXBsb3kgdGhlIFJlZCBIYXQgQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eSBTY2FubmVyLCB5b3UgY2FuIGRpc2FibGUgaXQgaGVyZVxuKG5vdCByZWNvbW1lbmRlZCkuIEJ5IGRlZmF1bHQsIHRoZSBzY2FubmVyIGlzIGVuYWJsZWQuXG5JZiB5b3UgZG8gc28sIGFsbCB0aGUgc2V0dGluZ3MgaW4gdGhpcyBzZWN0aW9uIHdpbGwgaGF2ZSBubyBlZmZlY3QuIiwiZW51bSI6WyJFbmFibGVkIiwiRGlzYWJsZWQiXSwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJzY2FubmVyVjQiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIFNjYW5uZXIgVjQgY29tcG9uZW50LCB3aGljaCBjYW4gcnVuIGluIGFkZGl0aW9uIHRvIHRoZSBwcmV2aW91c2x5IGV4aXN0aW5nIFNjYW5uZXIgY29tcG9uZW50cyIsInByb3BlcnRpZXMiOnsiZGIiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBwZXJ0YWluaW5nIHRvIHRoZSBEQiBkZXBsb3ltZW50LiIsInByb3BlcnRpZXMiOnsiaG9zdEFsaWFzZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhcyBob2xkcyB0aGUgbWFwcGluZyBiZXR3ZWVuIElQIGFuZCBob3N0bmFtZXMgdGhhdCB3aWxsIGJlIGluamVjdGVkIGFzIGFuIGVudHJ5IGluIHRoZVxucG9kJ3MgaG9zdHMgZmlsZS4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RuYW1lcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RuYW1lcyBmb3IgdGhlIGFib3ZlIElQIGFkZHJlc3MuIiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoiYXRvbWljIn0sImlwIjp7ImRlc2NyaXB0aW9uIjoiSVAgYWRkcmVzcyBvZiB0aGUgaG9zdCBmaWxlIGVudHJ5LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbImlwIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In0sIm5vZGVTZWxlY3RvciI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsInR5cGUiOiJvYmplY3QifSwicGVyc2lzdGVuY2UiOnsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIGhvdyBTY2FubmVyIFY0IHNob3VsZCBzdG9yZSBpdHMgcGVyc2lzdGVudCBkYXRhLlxuWW91IGNhbiB1c2UgYSBwZXJzaXN0ZW50IHZvbHVtZSBjbGFpbSAodGhlIHJlY29tbWVuZGVkIGRlZmF1bHQpLCBhIGhvc3QgcGF0aCxcbm9yIGFuIGVtcHR5RGlyIHZvbHVtZSBpZiBTY2FubmVyIFY0IGlzIHJ1bm5pbmcgb24gYSBzZWN1cmVkIGNsdXN0ZXIgd2l0aG91dCBkZWZhdWx0IFN0b3JhZ2VDbGFzcy4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RQYXRoIjp7ImRlc2NyaXB0aW9uIjoiU3RvcmVzIHBlcnNpc3RlbnQgZGF0YSBpbiBhIGRpcmVjdG9yeSBvbiB0aGUgaG9zdC4gVGhpcyBpcyBub3QgcmVjb21tZW5kZWQsIGFuZCBzaG91bGQgb25seVxuYmUgdXNlZCB0b2dldGhlciB3aXRoIGEgbm9kZSBzZWxlY3RvciAob25seSBhdmFpbGFibGUgaW4gWUFNTCB2aWV3KS4iLCJwcm9wZXJ0aWVzIjp7InBhdGgiOnsiZGVzY3JpcHRpb24iOiJUaGUgcGF0aCBvbiB0aGUgaG9zdCBydW5uaW5nIENlbnRyYWwuIiwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJwZXJzaXN0ZW50Vm9sdW1lQ2xhaW0iOnsiZGVzY3JpcHRpb24iOiJVc2VzIGEgS3ViZXJuZXRlcyBwZXJzaXN0ZW50IHZvbHVtZSBjbGFpbSAoUFZDKSB0byBtYW5hZ2UgdGhlIHN0b3JhZ2UgbG9jYXRpb24gb2YgcGVyc2lzdGVudCBkYXRhLlxuUmVjb21tZW5kZWQgZm9yIG1vc3QgdXNlcnMuIiwicHJvcGVydGllcyI6eyJjbGFpbU5hbWUiOnsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgUFZDIHRvIG1hbmFnZSBwZXJzaXN0ZW50IGRhdGEuIElmIG5vIFBWQyB3aXRoIHRoZSBnaXZlbiBuYW1lIGV4aXN0cywgaXQgd2lsbCBiZVxuY3JlYXRlZC5cblRoZSBkZWZhdWx0IGlzOiBzY2FubmVyLXY0LWRiLiIsInR5cGUiOiJzdHJpbmcifSwic2l6ZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBzaXplIG9mIHRoZSBwZXJzaXN0ZW50IHZvbHVtZSB3aGVuIGNyZWF0ZWQgdGhyb3VnaCB0aGUgY2xhaW0uIElmIGEgY2xhaW0gd2FzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCxcbnRoaXMgY2FuIGJlIHVzZWQgYWZ0ZXIgdGhlIGluaXRpYWwgZGVwbG95bWVudCB0byByZXNpemUgKGdyb3cpIHRoZSB2b2x1bWUgKG9ubHkgc3VwcG9ydGVkIGJ5IHNvbWVcbnN0b3JhZ2UgY2xhc3MgY29udHJvbGxlcnMpLiIsInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsInR5cGUiOiJzdHJpbmcifSwic3RvcmFnZUNsYXNzTmFtZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSBzdG9yYWdlIGNsYXNzIHRvIHVzZSBmb3IgdGhlIFBWQy4gSWYgeW91ciBjbHVzdGVyIGlzIG5vdCBjb25maWd1cmVkIHdpdGggYSBkZWZhdWx0IHN0b3JhZ2VcbmNsYXNzLCB5b3UgbXVzdCBzZWxlY3QgYSB2YWx1ZSBoZXJlLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwicmVzb3VyY2VzIjp7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJwcm9wZXJ0aWVzIjp7ImNsYWltcyI6eyJkZXNjcmlwdGlvbiI6IkNsYWltcyBsaXN0cyB0aGUgbmFtZXMgb2YgcmVzb3VyY2VzLCBkZWZpbmVkIGluIHNwZWMucmVzb3VyY2VDbGFpbXMsXG50aGF0IGFyZSB1c2VkIGJ5IHRoaXMgY29udGFpbmVyLlxuXG5UaGlzIGZpZWxkIGRlcGVuZHMgb24gdGhlXG5EeW5hbWljUmVzb3VyY2VBbGxvY2F0aW9uIGZlYXR1cmUgZ2F0ZS5cblxuVGhpcyBmaWVsZCBpcyBpbW11dGFibGUuIEl0IGNhbiBvbmx5IGJlIHNldCBmb3IgY29udGFpbmVycy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlQ2xhaW0gcmVmZXJlbmNlcyBvbmUgZW50cnkgaW4gUG9kU3BlYy5SZXNvdXJjZUNsYWltcy4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJOYW1lIG11c3QgbWF0Y2ggdGhlIG5hbWUgb2Ygb25lIGVudHJ5IGluIHBvZC5zcGVjLnJlc291cmNlQ2xhaW1zIG9mXG50aGUgUG9kIHdoZXJlIHRoaXMgZmllbGQgaXMgdXNlZC4gSXQgbWFrZXMgdGhhdCByZXNvdXJjZSBhdmFpbGFibGVcbmluc2lkZSBhIGNvbnRhaW5lci4iLCJ0eXBlIjoic3RyaW5nIn0sInJlcXVlc3QiOnsiZGVzY3JpcHRpb24iOiJSZXF1ZXN0IGlzIHRoZSBuYW1lIGNob3NlbiBmb3IgYSByZXF1ZXN0IGluIHRoZSByZWZlcmVuY2VkIGNsYWltLlxuSWYgZW1wdHksIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgY2xhaW0gaXMgbWFkZSBhdmFpbGFibGUsIG90aGVyd2lzZVxub25seSB0aGUgcmVzdWx0IG9mIHRoaXMgcmVxdWVzdC4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtbWFwLWtleXMiOlsibmFtZSJdLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoibWFwIn0sImxpbWl0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJMaW1pdHMgZGVzY3JpYmVzIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyBhbGxvd2VkLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In0sInJlcXVlc3RzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IlJlcXVlc3RzIGRlc2NyaWJlcyB0aGUgbWluaW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgcmVxdWlyZWQuXG5JZiBSZXF1ZXN0cyBpcyBvbWl0dGVkIGZvciBhIGNvbnRhaW5lciwgaXQgZGVmYXVsdHMgdG8gTGltaXRzIGlmIHRoYXQgaXMgZXhwbGljaXRseSBzcGVjaWZpZWQsXG5vdGhlcndpc2UgdG8gYW4gaW1wbGVtZW50YXRpb24tZGVmaW5lZCB2YWx1ZS4gUmVxdWVzdHMgY2Fubm90IGV4Y2VlZCBMaW1pdHMuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwidG9sZXJhdGlvbnMiOnsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHBvZCB0aGlzIFRvbGVyYXRpb24gaXMgYXR0YWNoZWQgdG8gdG9sZXJhdGVzIGFueSB0YWludCB0aGF0IG1hdGNoZXNcbnRoZSB0cmlwbGUgXHUwMDNja2V5LHZhbHVlLGVmZmVjdFx1MDAzZSB1c2luZyB0aGUgbWF0Y2hpbmcgb3BlcmF0b3IgXHUwMDNjb3BlcmF0b3JcdTAwM2UuIiwicHJvcGVydGllcyI6eyJlZmZlY3QiOnsiZGVzY3JpcHRpb24iOiJFZmZlY3QgaW5kaWNhdGVzIHRoZSB0YWludCBlZmZlY3QgdG8gbWF0Y2guIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBlZmZlY3RzLlxuV2hlbiBzcGVjaWZpZWQsIGFsbG93ZWQgdmFsdWVzIGFyZSBOb1NjaGVkdWxlLCBQcmVmZXJOb1NjaGVkdWxlIGFuZCBOb0V4ZWN1dGUuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJLZXkgaXMgdGhlIHRhaW50IGtleSB0aGF0IHRoZSB0b2xlcmF0aW9uIGFwcGxpZXMgdG8uIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBrZXlzLlxuSWYgdGhlIGtleSBpcyBlbXB0eSwgb3BlcmF0b3IgbXVzdCBiZSBFeGlzdHM7IHRoaXMgY29tYmluYXRpb24gbWVhbnMgdG8gbWF0Y2ggYWxsIHZhbHVlcyBhbmQgYWxsIGtleXMuIiwidHlwZSI6InN0cmluZyJ9LCJvcGVyYXRvciI6eyJkZXNjcmlwdGlvbiI6Ik9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gdGhlIHZhbHVlLlxuVmFsaWQgb3BlcmF0b3JzIGFyZSBFeGlzdHMsIEVxdWFsLCBMdCwgYW5kIEd0LiBEZWZhdWx0cyB0byBFcXVhbC5cbkV4aXN0cyBpcyBlcXVpdmFsZW50IHRvIHdpbGRjYXJkIGZvciB2YWx1ZSwgc28gdGhhdCBhIHBvZCBjYW5cbnRvbGVyYXRlIGFsbCB0YWludHMgb2YgYSBwYXJ0aWN1bGFyIGNhdGVnb3J5LlxuTHQgYW5kIEd0IHBlcmZvcm0gbnVtZXJpYyBjb21wYXJpc29ucyAocmVxdWlyZXMgZmVhdHVyZSBnYXRlIFRhaW50VG9sZXJhdGlvbkNvbXBhcmlzb25PcGVyYXRvcnMpLiIsInR5cGUiOiJzdHJpbmcifSwidG9sZXJhdGlvblNlY29uZHMiOnsiZGVzY3JpcHRpb24iOiJUb2xlcmF0aW9uU2Vjb25kcyByZXByZXNlbnRzIHRoZSBwZXJpb2Qgb2YgdGltZSB0aGUgdG9sZXJhdGlvbiAod2hpY2ggbXVzdCBiZVxub2YgZWZmZWN0IE5vRXhlY3V0ZSwgb3RoZXJ3aXNlIHRoaXMgZmllbGQgaXMgaWdub3JlZCkgdG9sZXJhdGVzIHRoZSB0YWludC4gQnkgZGVmYXVsdCxcbml0IGlzIG5vdCBzZXQsIHdoaWNoIG1lYW5zIHRvbGVyYXRlIHRoZSB0YWludCBmb3JldmVyIChkbyBub3QgZXZpY3QpLiBaZXJvIGFuZFxubmVnYXRpdmUgdmFsdWVzIHdpbGwgYmUgdHJlYXRlZCBhcyAwIChldmljdCBpbW1lZGlhdGVseSkgYnkgdGhlIHN5c3RlbS4iLCJmb3JtYXQiOiJpbnQ2NCIsInR5cGUiOiJpbnRlZ2VyIn0sInZhbHVlIjp7ImRlc2NyaXB0aW9uIjoiVmFsdWUgaXMgdGhlIHRhaW50IHZhbHVlIHRoZSB0b2xlcmF0aW9uIG1hdGNoZXMgdG8uXG5JZiB0aGUgb3BlcmF0b3IgaXMgRXhpc3RzLCB0aGUgdmFsdWUgc2hvdWxkIGJlIGVtcHR5LCBvdGhlcndpc2UganVzdCBhIHJlZ3VsYXIgc3RyaW5nLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sImluZGV4ZXIiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBwZXJ0YWluaW5nIHRvIHRoZSBpbmRleGVyIGRlcGxveW1lbnQuIiwicHJvcGVydGllcyI6eyJob3N0QWxpYXNlcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzIGhvbGRzIHRoZSBtYXBwaW5nIGJldHdlZW4gSVAgYW5kIGhvc3RuYW1lcyB0aGF0IHdpbGwgYmUgaW5qZWN0ZWQgYXMgYW4gZW50cnkgaW4gdGhlXG5wb2QncyBob3N0cyBmaWxlLiIsInByb3BlcnRpZXMiOnsiaG9zdG5hbWVzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdG5hbWVzIGZvciB0aGUgYWJvdmUgSVAgYWRkcmVzcy4iLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJhdG9taWMifSwiaXAiOnsiZGVzY3JpcHRpb24iOiJJUCBhZGRyZXNzIG9mIHRoZSBob3N0IGZpbGUgZW50cnkuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiaXAiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwibm9kZVNlbGVjdG9yIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwidHlwZSI6Im9iamVjdCJ9LCJyZXNvdXJjZXMiOnsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsInByb3BlcnRpZXMiOnsiY2xhaW1zIjp7ImRlc2NyaXB0aW9uIjoiQ2xhaW1zIGxpc3RzIHRoZSBuYW1lcyBvZiByZXNvdXJjZXMsIGRlZmluZWQgaW4gc3BlYy5yZXNvdXJjZUNsYWltcyxcbnRoYXQgYXJlIHVzZWQgYnkgdGhpcyBjb250YWluZXIuXG5cblRoaXMgZmllbGQgZGVwZW5kcyBvbiB0aGVcbkR5bmFtaWNSZXNvdXJjZUFsbG9jYXRpb24gZmVhdHVyZSBnYXRlLlxuXG5UaGlzIGZpZWxkIGlzIGltbXV0YWJsZS4gSXQgY2FuIG9ubHkgYmUgc2V0IGZvciBjb250YWluZXJzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiUmVzb3VyY2VDbGFpbSByZWZlcmVuY2VzIG9uZSBlbnRyeSBpbiBQb2RTcGVjLlJlc291cmNlQ2xhaW1zLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik5hbWUgbXVzdCBtYXRjaCB0aGUgbmFtZSBvZiBvbmUgZW50cnkgaW4gcG9kLnNwZWMucmVzb3VyY2VDbGFpbXMgb2ZcbnRoZSBQb2Qgd2hlcmUgdGhpcyBmaWVsZCBpcyB1c2VkLiBJdCBtYWtlcyB0aGF0IHJlc291cmNlIGF2YWlsYWJsZVxuaW5zaWRlIGEgY29udGFpbmVyLiIsInR5cGUiOiJzdHJpbmcifSwicmVxdWVzdCI6eyJkZXNjcmlwdGlvbiI6IlJlcXVlc3QgaXMgdGhlIG5hbWUgY2hvc2VuIGZvciBhIHJlcXVlc3QgaW4gdGhlIHJlZmVyZW5jZWQgY2xhaW0uXG5JZiBlbXB0eSwgZXZlcnl0aGluZyBmcm9tIHRoZSBjbGFpbSBpcyBtYWRlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlXG5vbmx5IHRoZSByZXN1bHQgb2YgdGhpcyByZXF1ZXN0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC1tYXAta2V5cyI6WyJuYW1lIl0sIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJtYXAifSwibGltaXRzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IkxpbWl0cyBkZXNjcmliZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIGFsbG93ZWQuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifSwicmVxdWVzdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiUmVxdWVzdHMgZGVzY3JpYmVzIHRoZSBtaW5pbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyByZXF1aXJlZC5cbklmIFJlcXVlc3RzIGlzIG9taXR0ZWQgZm9yIGEgY29udGFpbmVyLCBpdCBkZWZhdWx0cyB0byBMaW1pdHMgaWYgdGhhdCBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCxcbm90aGVyd2lzZSB0byBhbiBpbXBsZW1lbnRhdGlvbi1kZWZpbmVkIHZhbHVlLiBSZXF1ZXN0cyBjYW5ub3QgZXhjZWVkIExpbWl0cy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJzY2FsaW5nIjp7ImRlc2NyaXB0aW9uIjoiQ29udHJvbHMgdGhlIG51bWJlciBvZiByZXBsaWNhcyBhbmQgYXV0b3NjYWxpbmcgZm9yIHRoaXMgY29tcG9uZW50LiIsInByb3BlcnRpZXMiOnsiYXV0b1NjYWxpbmciOnsiZGVzY3JpcHRpb24iOiJXaGVuIGVuYWJsZWQsIHRoZSBudW1iZXIgb2YgY29tcG9uZW50IHJlcGxpY2FzIGlzIG1hbmFnZWQgZHluYW1pY2FsbHkgYmFzZWQgb24gdGhlIGxvYWQsIHdpdGhpbiB0aGUgbGltaXRzXG5zcGVjaWZpZWQgYmVsb3cuXG5UaGUgZGVmYXVsdCBpczogRW5hYmxlZC4iLCJlbnVtIjpbIkVuYWJsZWQiLCJEaXNhYmxlZCJdLCJ0eXBlIjoic3RyaW5nIn0sIm1heFJlcGxpY2FzIjp7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IDUuIiwiZm9ybWF0IjoiaW50MzIiLCJtaW5pbXVtIjoxLCJ0eXBlIjoiaW50ZWdlciJ9LCJtaW5SZXBsaWNhcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBkZWZhdWx0IGlzOiAyLiIsImZvcm1hdCI6ImludDMyIiwibWluaW11bSI6MSwidHlwZSI6ImludGVnZXIifSwicmVwbGljYXMiOnsiZGVzY3JpcHRpb24iOiJXaGVuIGF1dG9zY2FsaW5nIGlzIGRpc2FibGVkLCB0aGUgbnVtYmVyIG9mIHJlcGxpY2FzIHdpbGwgYWx3YXlzIGJlIGNvbmZpZ3VyZWQgdG8gbWF0Y2ggdGhpcyB2YWx1ZS5cblRoZSBkZWZhdWx0IGlzOiAzLiIsImZvcm1hdCI6ImludDMyIiwibWluaW11bSI6MSwidHlwZSI6ImludGVnZXIifX0sInR5cGUiOiJvYmplY3QifSwidG9sZXJhdGlvbnMiOnsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHBvZCB0aGlzIFRvbGVyYXRpb24gaXMgYXR0YWNoZWQgdG8gdG9sZXJhdGVzIGFueSB0YWludCB0aGF0IG1hdGNoZXNcbnRoZSB0cmlwbGUgXHUwMDNja2V5LHZhbHVlLGVmZmVjdFx1MDAzZSB1c2luZyB0aGUgbWF0Y2hpbmcgb3BlcmF0b3IgXHUwMDNjb3BlcmF0b3JcdTAwM2UuIiwicHJvcGVydGllcyI6eyJlZmZlY3QiOnsiZGVzY3JpcHRpb24iOiJFZmZlY3QgaW5kaWNhdGVzIHRoZSB0YWludCBlZmZlY3QgdG8gbWF0Y2guIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBlZmZlY3RzLlxuV2hlbiBzcGVjaWZpZWQsIGFsbG93ZWQgdmFsdWVzIGFyZSBOb1NjaGVkdWxlLCBQcmVmZXJOb1NjaGVkdWxlIGFuZCBOb0V4ZWN1dGUuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJLZXkgaXMgdGhlIHRhaW50IGtleSB0aGF0IHRoZSB0b2xlcmF0aW9uIGFwcGxpZXMgdG8uIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBrZXlzLlxuSWYgdGhlIGtleSBpcyBlbXB0eSwgb3BlcmF0b3IgbXVzdCBiZSBFeGlzdHM7IHRoaXMgY29tYmluYXRpb24gbWVhbnMgdG8gbWF0Y2ggYWxsIHZhbHVlcyBhbmQgYWxsIGtleXMuIiwidHlwZSI6InN0cmluZyJ9LCJvcGVyYXRvciI6eyJkZXNjcmlwdGlvbiI6Ik9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gdGhlIHZhbHVlLlxuVmFsaWQgb3BlcmF0b3JzIGFyZSBFeGlzdHMsIEVxdWFsLCBMdCwgYW5kIEd0LiBEZWZhdWx0cyB0byBFcXVhbC5cbkV4aXN0cyBpcyBlcXVpdmFsZW50IHRvIHdpbGRjYXJkIGZvciB2YWx1ZSwgc28gdGhhdCBhIHBvZCBjYW5cbnRvbGVyYXRlIGFsbCB0YWludHMgb2YgYSBwYXJ0aWN1bGFyIGNhdGVnb3J5LlxuTHQgYW5kIEd0IHBlcmZvcm0gbnVtZXJpYyBjb21wYXJpc29ucyAocmVxdWlyZXMgZmVhdHVyZSBnYXRlIFRhaW50VG9sZXJhdGlvbkNvbXBhcmlzb25PcGVyYXRvcnMpLiIsInR5cGUiOiJzdHJpbmcifSwidG9sZXJhdGlvblNlY29uZHMiOnsiZGVzY3JpcHRpb24iOiJUb2xlcmF0aW9uU2Vjb25kcyByZXByZXNlbnRzIHRoZSBwZXJpb2Qgb2YgdGltZSB0aGUgdG9sZXJhdGlvbiAod2hpY2ggbXVzdCBiZVxub2YgZWZmZWN0IE5vRXhlY3V0ZSwgb3RoZXJ3aXNlIHRoaXMgZmllbGQgaXMgaWdub3JlZCkgdG9sZXJhdGVzIHRoZSB0YWludC4gQnkgZGVmYXVsdCxcbml0IGlzIG5vdCBzZXQsIHdoaWNoIG1lYW5zIHRvbGVyYXRlIHRoZSB0YWludCBmb3JldmVyIChkbyBub3QgZXZpY3QpLiBaZXJvIGFuZFxubmVnYXRpdmUgdmFsdWVzIHdpbGwgYmUgdHJlYXRlZCBhcyAwIChldmljdCBpbW1lZGlhdGVseSkgYnkgdGhlIHN5c3RlbS4iLCJmb3JtYXQiOiJpbnQ2NCIsInR5cGUiOiJpbnRlZ2VyIn0sInZhbHVlIjp7ImRlc2NyaXB0aW9uIjoiVmFsdWUgaXMgdGhlIHRhaW50IHZhbHVlIHRoZSB0b2xlcmF0aW9uIG1hdGNoZXMgdG8uXG5JZiB0aGUgb3BlcmF0b3IgaXMgRXhpc3RzLCB0aGUgdmFsdWUgc2hvdWxkIGJlIGVtcHR5LCBvdGhlcndpc2UganVzdCBhIHJlZ3VsYXIgc3RyaW5nLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sIm1hdGNoZXIiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBwZXJ0YWluaW5nIHRvIHRoZSBtYXRjaGVyIGRlcGxveW1lbnQuIiwicHJvcGVydGllcyI6eyJob3N0QWxpYXNlcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzIGhvbGRzIHRoZSBtYXBwaW5nIGJldHdlZW4gSVAgYW5kIGhvc3RuYW1lcyB0aGF0IHdpbGwgYmUgaW5qZWN0ZWQgYXMgYW4gZW50cnkgaW4gdGhlXG5wb2QncyBob3N0cyBmaWxlLiIsInByb3BlcnRpZXMiOnsiaG9zdG5hbWVzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdG5hbWVzIGZvciB0aGUgYWJvdmUgSVAgYWRkcmVzcy4iLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJhdG9taWMifSwiaXAiOnsiZGVzY3JpcHRpb24iOiJJUCBhZGRyZXNzIG9mIHRoZSBob3N0IGZpbGUgZW50cnkuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiaXAiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwibm9kZVNlbGVjdG9yIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwidHlwZSI6Im9iamVjdCJ9LCJyZXNvdXJjZXMiOnsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsInByb3BlcnRpZXMiOnsiY2xhaW1zIjp7ImRlc2NyaXB0aW9uIjoiQ2xhaW1zIGxpc3RzIHRoZSBuYW1lcyBvZiByZXNvdXJjZXMsIGRlZmluZWQgaW4gc3BlYy5yZXNvdXJjZUNsYWltcyxcbnRoYXQgYXJlIHVzZWQgYnkgdGhpcyBjb250YWluZXIuXG5cblRoaXMgZmllbGQgZGVwZW5kcyBvbiB0aGVcbkR5bmFtaWNSZXNvdXJjZUFsbG9jYXRpb24gZmVhdHVyZSBnYXRlLlxuXG5UaGlzIGZpZWxkIGlzIGltbXV0YWJsZS4gSXQgY2FuIG9ubHkgYmUgc2V0IGZvciBjb250YWluZXJzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiUmVzb3VyY2VDbGFpbSByZWZlcmVuY2VzIG9uZSBlbnRyeSBpbiBQb2RTcGVjLlJlc291cmNlQ2xhaW1zLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik5hbWUgbXVzdCBtYXRjaCB0aGUgbmFtZSBvZiBvbmUgZW50cnkgaW4gcG9kLnNwZWMucmVzb3VyY2VDbGFpbXMgb2ZcbnRoZSBQb2Qgd2hlcmUgdGhpcyBmaWVsZCBpcyB1c2VkLiBJdCBtYWtlcyB0aGF0IHJlc291cmNlIGF2YWlsYWJsZVxuaW5zaWRlIGEgY29udGFpbmVyLiIsInR5cGUiOiJzdHJpbmcifSwicmVxdWVzdCI6eyJkZXNjcmlwdGlvbiI6IlJlcXVlc3QgaXMgdGhlIG5hbWUgY2hvc2VuIGZvciBhIHJlcXVlc3QgaW4gdGhlIHJlZmVyZW5jZWQgY2xhaW0uXG5JZiBlbXB0eSwgZXZlcnl0aGluZyBmcm9tIHRoZSBjbGFpbSBpcyBtYWRlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlXG5vbmx5IHRoZSByZXN1bHQgb2YgdGhpcyByZXF1ZXN0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC1tYXAta2V5cyI6WyJuYW1lIl0sIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJtYXAifSwibGltaXRzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IkxpbWl0cyBkZXNjcmliZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIGFsbG93ZWQuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifSwicmVxdWVzdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiUmVxdWVzdHMgZGVzY3JpYmVzIHRoZSBtaW5pbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyByZXF1aXJlZC5cbklmIFJlcXVlc3RzIGlzIG9taXR0ZWQgZm9yIGEgY29udGFpbmVyLCBpdCBkZWZhdWx0cyB0byBMaW1pdHMgaWYgdGhhdCBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCxcbm90aGVyd2lzZSB0byBhbiBpbXBsZW1lbnRhdGlvbi1kZWZpbmVkIHZhbHVlLiBSZXF1ZXN0cyBjYW5ub3QgZXhjZWVkIExpbWl0cy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJzY2FsaW5nIjp7ImRlc2NyaXB0aW9uIjoiQ29udHJvbHMgdGhlIG51bWJlciBvZiByZXBsaWNhcyBhbmQgYXV0b3NjYWxpbmcgZm9yIHRoaXMgY29tcG9uZW50LiIsInByb3BlcnRpZXMiOnsiYXV0b1NjYWxpbmciOnsiZGVzY3JpcHRpb24iOiJXaGVuIGVuYWJsZWQsIHRoZSBudW1iZXIgb2YgY29tcG9uZW50IHJlcGxpY2FzIGlzIG1hbmFnZWQgZHluYW1pY2FsbHkgYmFzZWQgb24gdGhlIGxvYWQsIHdpdGhpbiB0aGUgbGltaXRzXG5zcGVjaWZpZWQgYmVsb3cuXG5UaGUgZGVmYXVsdCBpczogRW5hYmxlZC4iLCJlbnVtIjpbIkVuYWJsZWQiLCJEaXNhYmxlZCJdLCJ0eXBlIjoic3RyaW5nIn0sIm1heFJlcGxpY2FzIjp7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IDUuIiwiZm9ybWF0IjoiaW50MzIiLCJtaW5pbXVtIjoxLCJ0eXBlIjoiaW50ZWdlciJ9LCJtaW5SZXBsaWNhcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBkZWZhdWx0IGlzOiAyLiIsImZvcm1hdCI6ImludDMyIiwibWluaW11bSI6MSwidHlwZSI6ImludGVnZXIifSwicmVwbGljYXMiOnsiZGVzY3JpcHRpb24iOiJXaGVuIGF1dG9zY2FsaW5nIGlzIGRpc2FibGVkLCB0aGUgbnVtYmVyIG9mIHJlcGxpY2FzIHdpbGwgYWx3YXlzIGJlIGNvbmZpZ3VyZWQgdG8gbWF0Y2ggdGhpcyB2YWx1ZS5cblRoZSBkZWZhdWx0IGlzOiAzLiIsImZvcm1hdCI6ImludDMyIiwibWluaW11bSI6MSwidHlwZSI6ImludGVnZXIifX0sInR5cGUiOiJvYmplY3QifSwidG9sZXJhdGlvbnMiOnsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHBvZCB0aGlzIFRvbGVyYXRpb24gaXMgYXR0YWNoZWQgdG8gdG9sZXJhdGVzIGFueSB0YWludCB0aGF0IG1hdGNoZXNcbnRoZSB0cmlwbGUgXHUwMDNja2V5LHZhbHVlLGVmZmVjdFx1MDAzZSB1c2luZyB0aGUgbWF0Y2hpbmcgb3BlcmF0b3IgXHUwMDNjb3BlcmF0b3JcdTAwM2UuIiwicHJvcGVydGllcyI6eyJlZmZlY3QiOnsiZGVzY3JpcHRpb24iOiJFZmZlY3QgaW5kaWNhdGVzIHRoZSB0YWludCBlZmZlY3QgdG8gbWF0Y2guIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBlZmZlY3RzLlxuV2hlbiBzcGVjaWZpZWQsIGFsbG93ZWQgdmFsdWVzIGFyZSBOb1NjaGVkdWxlLCBQcmVmZXJOb1NjaGVkdWxlIGFuZCBOb0V4ZWN1dGUuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJLZXkgaXMgdGhlIHRhaW50IGtleSB0aGF0IHRoZSB0b2xlcmF0aW9uIGFwcGxpZXMgdG8uIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBrZXlzLlxuSWYgdGhlIGtleSBpcyBlbXB0eSwgb3BlcmF0b3IgbXVzdCBiZSBFeGlzdHM7IHRoaXMgY29tYmluYXRpb24gbWVhbnMgdG8gbWF0Y2ggYWxsIHZhbHVlcyBhbmQgYWxsIGtleXMuIiwidHlwZSI6InN0cmluZyJ9LCJvcGVyYXRvciI6eyJkZXNjcmlwdGlvbiI6Ik9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gdGhlIHZhbHVlLlxuVmFsaWQgb3BlcmF0b3JzIGFyZSBFeGlzdHMsIEVxdWFsLCBMdCwgYW5kIEd0LiBEZWZhdWx0cyB0byBFcXVhbC5cbkV4aXN0cyBpcyBlcXVpdmFsZW50IHRvIHdpbGRjYXJkIGZvciB2YWx1ZSwgc28gdGhhdCBhIHBvZCBjYW5cbnRvbGVyYXRlIGFsbCB0YWludHMgb2YgYSBwYXJ0aWN1bGFyIGNhdGVnb3J5LlxuTHQgYW5kIEd0IHBlcmZvcm0gbnVtZXJpYyBjb21wYXJpc29ucyAocmVxdWlyZXMgZmVhdHVyZSBnYXRlIFRhaW50VG9sZXJhdGlvbkNvbXBhcmlzb25PcGVyYXRvcnMpLiIsInR5cGUiOiJzdHJpbmcifSwidG9sZXJhdGlvblNlY29uZHMiOnsiZGVzY3JpcHRpb24iOiJUb2xlcmF0aW9uU2Vjb25kcyByZXByZXNlbnRzIHRoZSBwZXJpb2Qgb2YgdGltZSB0aGUgdG9sZXJhdGlvbiAod2hpY2ggbXVzdCBiZVxub2YgZWZmZWN0IE5vRXhlY3V0ZSwgb3RoZXJ3aXNlIHRoaXMgZmllbGQgaXMgaWdub3JlZCkgdG9sZXJhdGVzIHRoZSB0YWludC4gQnkgZGVmYXVsdCxcbml0IGlzIG5vdCBzZXQsIHdoaWNoIG1lYW5zIHRvbGVyYXRlIHRoZSB0YWludCBmb3JldmVyIChkbyBub3QgZXZpY3QpLiBaZXJvIGFuZFxubmVnYXRpdmUgdmFsdWVzIHdpbGwgYmUgdHJlYXRlZCBhcyAwIChldmljdCBpbW1lZGlhdGVseSkgYnkgdGhlIHN5c3RlbS4iLCJmb3JtYXQiOiJpbnQ2NCIsInR5cGUiOiJpbnRlZ2VyIn0sInZhbHVlIjp7ImRlc2NyaXB0aW9uIjoiVmFsdWUgaXMgdGhlIHRhaW50IHZhbHVlIHRoZSB0b2xlcmF0aW9uIG1hdGNoZXMgdG8uXG5JZiB0aGUgb3BlcmF0b3IgaXMgRXhpc3RzLCB0aGUgdmFsdWUgc2hvdWxkIGJlIGVtcHR5LCBvdGhlcndpc2UganVzdCBhIHJlZ3VsYXIgc3RyaW5nLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sIm1vbml0b3JpbmciOnsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIG1vbml0b3JpbmcgZW5kcG9pbnQgZm9yIFNjYW5uZXIgVjQuIFRoZSBtb25pdG9yaW5nIGVuZHBvaW50XG5hbGxvd3Mgb3RoZXIgc2VydmljZXMgdG8gY29sbGVjdCBtZXRyaWNzIGZyb20gU2Nhbm5lciBWNCwgcHJvdmlkZWQgaW5cblByb21ldGhldXMgY29tcGF0aWJsZSBmb3JtYXQuIiwicHJvcGVydGllcyI6eyJleHBvc2VFbmRwb2ludCI6eyJkZXNjcmlwdGlvbiI6IkV4cG9zZSB0aGUgbW9uaXRvcmluZyBlbmRwb2ludC4gQSBuZXcgc2VydmljZSwgXCJtb25pdG9yaW5nXCIsXG53aXRoIHBvcnQgOTA5MCwgd2lsbCBiZSBjcmVhdGVkIGFzIHdlbGwgYXMgYSBuZXR3b3JrIHBvbGljeSBhbGxvd2luZ1xuaW5ib3VuZCBjb25uZWN0aW9ucyB0byB0aGUgcG9ydC4iLCJlbnVtIjpbIkVuYWJsZWQiLCJEaXNhYmxlZCJdLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInNjYW5uZXJDb21wb25lbnQiOnsiZGVzY3JpcHRpb24iOiJDYW4gYmUgc3BlY2lmaWVkIGFzIFwiRW5hYmxlZFwiIG9yIFwiRGlzYWJsZWRcIi5cbklmIHRoaXMgZmllbGQgaXMgbm90IHNwZWNpZmllZCwgdGhlIGZvbGxvd2luZyBkZWZhdWx0aW5nIHRha2VzIHBsYWNlOlxuKiBmb3IgdXBncmFkZXMgdG8gNC44IGZyb20gcHJldmlvdXMgcmVsZWFzZXMsIHRoZSBkZWZhdWx0IGlzOiBEaXNhYmxlZDtcbiogZm9yIG5ldyBpbnN0YWxsYXRpb25zIHN0YXJ0aW5nIHdpdGggQUNTIDQuOCwgdGhlIGRlZmF1bHQgaXM6IEVuYWJsZWQuIiwiZW51bSI6WyJEZWZhdWx0IiwiRW5hYmxlZCIsIkRpc2FibGVkIl0sInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidGxzIjp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcmVsYXRlZCB0byBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHksIHN1Y2ggYXMgQ2VydGlmaWNhdGUgQXV0aG9yaXRpZXMuIiwicHJvcGVydGllcyI6eyJhZGRpdGlvbmFsQ0FzIjp7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIHlvdSB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgdHJ1c3RlZCBSb290IENBcy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IkFkZGl0aW9uYWxDQSBkZWZpbmVzIGEgY2VydGlmaWNhdGUgZm9yIGFuIGFkZGl0aW9uYWwgQ2VydGlmaWNhdGUgQXV0aG9yaXR5LiIsInByb3BlcnRpZXMiOnsiY29udGVudCI6eyJkZXNjcmlwdGlvbiI6IlBFTSBmb3JtYXQiLCJ0eXBlIjoic3RyaW5nIn0sIm5hbWUiOnsiZGVzY3JpcHRpb24iOiJNdXN0IGJlIGEgdmFsaWQgZmlsZSBiYXNlbmFtZSIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbImNvbnRlbnQiLCJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sInN0YXR1cyI6eyJkZXNjcmlwdGlvbiI6IkNlbnRyYWxTdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgQ2VudHJhbC4iLCJwcm9wZXJ0aWVzIjp7ImNlbnRyYWwiOnsiZGVzY3JpcHRpb24iOiJDZW50cmFsQ29tcG9uZW50U3RhdHVzIGRlc2NyaWJlcyBzdGF0dXMgc3BlY2lmaWMgdG8gdGhlIGNlbnRyYWwgY29tcG9uZW50LiIsInByb3BlcnRpZXMiOnsiYWRtaW5QYXNzd29yZCI6eyJkZXNjcmlwdGlvbiI6IkFkbWluUGFzc3dvcmQgc3RvcmVzIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gdGhlIGF1dG8tZ2VuZXJhdGVkIGFkbWluIHBhc3N3b3JkLiIsInByb3BlcnRpZXMiOnsiYWRtaW5QYXNzd29yZFNlY3JldFJlZmVyZW5jZSI6eyJkZXNjcmlwdGlvbiI6IkFkbWluUGFzc3dvcmRTZWNyZXRSZWZlcmVuY2UgY29udGFpbnMgcmVmZXJlbmNlIGZvciB0aGUgYWRtaW4gcGFzc3dvcmQiLCJ0eXBlIjoic3RyaW5nIn0sImluZm8iOnsiZGVzY3JpcHRpb24iOiJJbmZvIHN0b3JlcyBpbmZvcm1hdGlvbiBvbiBob3cgdG8gb2J0YWluIHRoZSBhZG1pbiBwYXNzd29yZC4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sImNvbmRpdGlvbnMiOnsiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJTdGFja1JveENvbmRpdGlvbiBkZWZpbmVzIGEgY29uZGl0aW9uIGZvciBhIFN0YWNrUm94IGN1c3RvbSByZXNvdXJjZS4iLCJwcm9wZXJ0aWVzIjp7Imxhc3RUcmFuc2l0aW9uVGltZSI6eyJmb3JtYXQiOiJkYXRlLXRpbWUiLCJ0eXBlIjoic3RyaW5nIn0sIm1lc3NhZ2UiOnsidHlwZSI6InN0cmluZyJ9LCJyZWFzb24iOnsiZGVzY3JpcHRpb24iOiJDb25kaXRpb25SZWFzb24gaXMgYSB0eXBlIG9mIHZhbHVlcyBvZiBjb25kaXRpb24gcmVhc29uLiIsInR5cGUiOiJzdHJpbmcifSwic3RhdHVzIjp7ImRlc2NyaXB0aW9uIjoiQ29uZGl0aW9uU3RhdHVzIGlzIGEgdHlwZSBvZiB2YWx1ZXMgb2YgY29uZGl0aW9uIHN0YXR1cy4iLCJ0eXBlIjoic3RyaW5nIn0sInR5cGUiOnsiZGVzY3JpcHRpb24iOiJDb25kaXRpb25UeXBlIGlzIGEgdHlwZSBvZiB2YWx1ZXMgb2YgY29uZGl0aW9uIHR5cGUuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsic3RhdHVzIiwidHlwZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJkZXBsb3llZFJlbGVhc2UiOnsiZGVzY3JpcHRpb24iOiJTdGFja1JveFJlbGVhc2UgZGVzY3JpYmVzIHRoZSBIZWxtIFwicmVsZWFzZVwiIHRoYXQgd2FzIG1vc3QgcmVjZW50bHkgYXBwbGllZC4iLCJwcm9wZXJ0aWVzIjp7InZlcnNpb24iOnsidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJvYnNlcnZlZEdlbmVyYXRpb24iOnsiZGVzY3JpcHRpb24iOiJPYnNlcnZlZEdlbmVyYXRpb24gaXMgdGhlIGdlbmVyYXRpb24gbW9zdCByZWNlbnRseSBvYnNlcnZlZCBieSB0aGUgY29udHJvbGxlci4iLCJmb3JtYXQiOiJpbnQ2NCIsInR5cGUiOiJpbnRlZ2VyIn0sInByb2R1Y3RWZXJzaW9uIjp7ImRlc2NyaXB0aW9uIjoiVGhlIGRlcGxveWVkIHZlcnNpb24gb2YgdGhlIHByb2R1Y3QuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiY29uZGl0aW9ucyJdLCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In19LCJzZXJ2ZWQiOnRydWUsInN0b3JhZ2UiOnRydWUsInN1YnJlc291cmNlcyI6eyJzdGF0dXMiOnt9fX1dfSwic3RhdHVzIjp7ImFjY2VwdGVkTmFtZXMiOnsia2luZCI6IiIsInBsdXJhbCI6IiJ9LCJjb25kaXRpb25zIjpudWxsLCJzdG9yZWRWZXJzaW9ucyI6bnVsbH19" + } + }, + { + "type": "olm.bundle.object", + "value": { + "data": "eyJhcGlWZXJzaW9uIjoiYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEiLCJraW5kIjoiQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uIiwibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsiY29udHJvbGxlci1nZW4ua3ViZWJ1aWxkZXIuaW8vdmVyc2lvbiI6InYwLjIwLjAifSwiY3JlYXRpb25UaW1lc3RhbXAiOm51bGwsImxhYmVscyI6eyJhcHAiOiJyaGFjcy1vcGVyYXRvciJ9LCJuYW1lIjoic2VjdXJlZGNsdXN0ZXJzLnBsYXRmb3JtLnN0YWNrcm94LmlvIn0sInNwZWMiOnsiZ3JvdXAiOiJwbGF0Zm9ybS5zdGFja3JveC5pbyIsIm5hbWVzIjp7ImtpbmQiOiJTZWN1cmVkQ2x1c3RlciIsImxpc3RLaW5kIjoiU2VjdXJlZENsdXN0ZXJMaXN0IiwicGx1cmFsIjoic2VjdXJlZGNsdXN0ZXJzIiwic2luZ3VsYXIiOiJzZWN1cmVkY2x1c3RlciJ9LCJzY29wZSI6Ik5hbWVzcGFjZWQiLCJ2ZXJzaW9ucyI6W3siYWRkaXRpb25hbFByaW50ZXJDb2x1bW5zIjpbeyJqc29uUGF0aCI6Ii5zdGF0dXMucHJvZHVjdFZlcnNpb24iLCJuYW1lIjoiVmVyc2lvbiIsInR5cGUiOiJzdHJpbmcifSx7Impzb25QYXRoIjoiLnN0YXR1cy5jb25kaXRpb25zWz8oQC50eXBlPT1cIkRlcGxveWVkXCIpXS5tZXNzYWdlIiwibmFtZSI6Ik1lc3NhZ2UiLCJ0eXBlIjoic3RyaW5nIn0seyJqc29uUGF0aCI6Ii5zdGF0dXMuY29uZGl0aW9uc1s/KEAudHlwZT09XCJQcm9ncmVzc2luZ1wiKV0uc3RhdHVzIiwibmFtZSI6IlByb2dyZXNzaW5nIiwidHlwZSI6InN0cmluZyJ9LHsianNvblBhdGgiOiIuc3RhdHVzLmNvbmRpdGlvbnNbPyhALnR5cGU9PVwiQXZhaWxhYmxlXCIpXS5zdGF0dXMiLCJuYW1lIjoiQXZhaWxhYmxlIiwidHlwZSI6InN0cmluZyJ9XSwibmFtZSI6InYxYWxwaGExIiwic2NoZW1hIjp7Im9wZW5BUElWM1NjaGVtYSI6eyJkZXNjcmlwdGlvbiI6IlNlY3VyZWRDbHVzdGVyIGlzIHRoZSBjb25maWd1cmF0aW9uIHRlbXBsYXRlIGZvciB0aGUgc2VjdXJlZCBjbHVzdGVyIHNlcnZpY2VzLiBUaGVzZSBpbmNsdWRlIFNlbnNvciwgd2hpY2ggaXNcbnJlc3BvbnNpYmxlIGZvciB0aGUgY29ubmVjdGlvbiB0byBDZW50cmFsLCBhbmQgQ29sbGVjdG9yLCB3aGljaCBwZXJmb3JtcyBob3N0LWxldmVsIGNvbGxlY3Rpb24gb2YgcHJvY2VzcyBhbmRcbm5ldHdvcmsgZXZlbnRzLlx1MDAzY3BcdTAwM2VcbioqSW1wb3J0YW50OioqIFBsZWFzZSBzZWUgdGhlIF9JbnN0YWxsYXRpb24gUHJlcmVxdWlzaXRlc18gb24gdGhlIG1haW4gUkhBQ1Mgb3BlcmF0b3IgcGFnZSBiZWZvcmUgZGVwbG95aW5nLCBvclxuY29uc3VsdCB0aGUgUkhBQ1MgZG9jdW1lbnRhdGlvbiBvbiBjcmVhdGluZyBjbHVzdGVyIGluaXQgYnVuZGxlcy4iLCJwcm9wZXJ0aWVzIjp7ImFwaVZlcnNpb24iOnsiZGVzY3JpcHRpb24iOiJBUElWZXJzaW9uIGRlZmluZXMgdGhlIHZlcnNpb25lZCBzY2hlbWEgb2YgdGhpcyByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmplY3QuXG5TZXJ2ZXJzIHNob3VsZCBjb252ZXJ0IHJlY29nbml6ZWQgc2NoZW1hcyB0byB0aGUgbGF0ZXN0IGludGVybmFsIHZhbHVlLCBhbmRcbm1heSByZWplY3QgdW5yZWNvZ25pemVkIHZhbHVlcy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjcmVzb3VyY2VzIiwidHlwZSI6InN0cmluZyJ9LCJraW5kIjp7ImRlc2NyaXB0aW9uIjoiS2luZCBpcyBhIHN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIFJFU1QgcmVzb3VyY2UgdGhpcyBvYmplY3QgcmVwcmVzZW50cy5cblNlcnZlcnMgbWF5IGluZmVyIHRoaXMgZnJvbSB0aGUgZW5kcG9pbnQgdGhlIGNsaWVudCBzdWJtaXRzIHJlcXVlc3RzIHRvLlxuQ2Fubm90IGJlIHVwZGF0ZWQuXG5JbiBDYW1lbENhc2UuXG5Nb3JlIGluZm86IGh0dHBzOi8vZ2l0Lms4cy5pby9jb21tdW5pdHkvY29udHJpYnV0b3JzL2RldmVsL3NpZy1hcmNoaXRlY3R1cmUvYXBpLWNvbnZlbnRpb25zLm1kI3R5cGVzLWtpbmRzIiwidHlwZSI6InN0cmluZyJ9LCJtZXRhZGF0YSI6eyJ0eXBlIjoib2JqZWN0In0sInNwZWMiOnsiZGVzY3JpcHRpb24iOiJTZWN1cmVkQ2x1c3RlclNwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBjb25maWd1cmF0aW9uIHN0YXRlIG9mIGEgc2VjdXJlZCBjbHVzdGVyLiIsInByb3BlcnRpZXMiOnsiYWRtaXNzaW9uQ29udHJvbCI6eyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIGZvciB0aGUgQWRtaXNzaW9uIENvbnRyb2wgY29tcG9uZW50LCB3aGljaCBpcyBuZWNlc3NhcnkgZm9yIHByZXZlbnRpdmUgcG9saWN5IGVuZm9yY2VtZW50LFxuYW5kIGZvciBLdWJlcm5ldGVzIGV2ZW50IG1vbml0b3JpbmcuIiwicHJvcGVydGllcyI6eyJieXBhc3MiOnsiZGVzY3JpcHRpb24iOiJFbmFibGVzIHRlYW1zIHRvIGJ5cGFzcyBhZG1pc3Npb24gY29udHJvbCBpbiBhIG1vbml0b3JlZCBtYW5uZXIgaW4gdGhlIGV2ZW50IG9mIGFuIGVtZXJnZW5jeS5cblRoZSBkZWZhdWx0IGlzOiBCcmVha0dsYXNzQW5ub3RhdGlvbi4iLCJlbnVtIjpbIkJyZWFrR2xhc3NBbm5vdGF0aW9uIiwiRGlzYWJsZWQiXSwidHlwZSI6InN0cmluZyJ9LCJjb250YWN0SW1hZ2VTY2FubmVycyI6eyJkZXNjcmlwdGlvbiI6IkRlcHJlY2F0ZWQgZmllbGQuIFRoaXMgZmllbGQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuIiwiZW51bSI6WyJTY2FuSWZNaXNzaW5nIiwiRG9Ob3RTY2FuSW5saW5lIl0sInR5cGUiOiJzdHJpbmcifSwiZW5mb3JjZW1lbnQiOnsiZGVzY3JpcHRpb24iOiJTZXQgdG8gRGlzYWJsZWQgdG8gZGlzYWJsZSBwb2xpY3kgZW5mb3JjZW1lbnQgZm9yIHRoZSBhZG1pc3Npb24gY29udHJvbGxlci4gVGhpcyBpcyBub3QgcmVjb21tZW5kZWQuXG5PbiB1cGdyYWRlcyB0byA0LjkgZnJvbSBwcmV2aW91cyByZWxlYXNlcywgZGVmYXVsdHMgdG8gRW5hYmxlZCBvbmx5IGlmIGF0IGxlYXN0IG9uZSBvZiBsaXN0ZW5PbkNyZWF0ZXMgb3IgbGlzdGVuT25VcGRhdGVzIGlzIHRydWUuXG5PbiBuZXcgZGVwbG95bWVudHMgc3RhcnRpbmcgd2l0aCB2ZXJzaW9uIDQuOSwgdGhlIGRlZmF1bHQgaXM6IEVuYWJsZWQuIiwiZW51bSI6WyJFbmFibGVkIiwiRGlzYWJsZWQiXSwidHlwZSI6InN0cmluZyJ9LCJmYWlsdXJlUG9saWN5Ijp7ImRlc2NyaXB0aW9uIjoiSWYgc2V0IHRvIFwiRmFpbFwiLCB0aGUgYWRtaXNzaW9uIGNvbnRyb2xsZXIncyB3ZWJob29rcyBhcmUgY29uZmlndXJlZCB0byBmYWlsLWNsb3NlZCBpbiBjYXNlIGFkbWlzc2lvbiBjb250cm9sbGVyXG5mYWlscyB0byByZXNwb25kIGluIHRpbWUuIEEgZmFpbHVyZSBwb2xpY3kgXCJJZ25vcmVcIiBjb25maWd1cmVzIHRoZSB3ZWJob29rcyB0byBmYWlsLW9wZW4uXG5UaGUgZGVmYXVsdCBpczogSWdub3JlLiIsImVudW0iOlsiSWdub3JlIiwiRmFpbCJdLCJ0eXBlIjoic3RyaW5nIn0sImhvc3RBbGlhc2VzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXMgaG9sZHMgdGhlIG1hcHBpbmcgYmV0d2VlbiBJUCBhbmQgaG9zdG5hbWVzIHRoYXQgd2lsbCBiZSBpbmplY3RlZCBhcyBhbiBlbnRyeSBpbiB0aGVcbnBvZCdzIGhvc3RzIGZpbGUuIiwicHJvcGVydGllcyI6eyJob3N0bmFtZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0bmFtZXMgZm9yIHRoZSBhYm92ZSBJUCBhZGRyZXNzLiIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6ImF0b21pYyJ9LCJpcCI6eyJkZXNjcmlwdGlvbiI6IklQIGFkZHJlc3Mgb2YgdGhlIGhvc3QgZmlsZSBlbnRyeS4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJpcCJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJsaXN0ZW5PbkNyZWF0ZXMiOnsiZGVzY3JpcHRpb24iOiJEZXByZWNhdGVkIGZpZWxkLiBUaGlzIGZpZWxkIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLiIsInR5cGUiOiJib29sZWFuIn0sImxpc3Rlbk9uRXZlbnRzIjp7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS4iLCJ0eXBlIjoiYm9vbGVhbiJ9LCJsaXN0ZW5PblVwZGF0ZXMiOnsiZGVzY3JpcHRpb24iOiJEZXByZWNhdGVkIGZpZWxkLiBUaGlzIGZpZWxkIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLiIsInR5cGUiOiJib29sZWFuIn0sIm5vZGVTZWxlY3RvciI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsInR5cGUiOiJvYmplY3QifSwicmVwbGljYXMiOnsiZGVzY3JpcHRpb24iOiJUaGUgbnVtYmVyIG9mIHJlcGxpY2FzIG9mIHRoZSBhZG1pc3Npb24gY29udHJvbCBwb2QuXG5UaGUgZGVmYXVsdCBpczogMy4iLCJmb3JtYXQiOiJpbnQzMiIsIm1pbmltdW0iOjEsInR5cGUiOiJpbnRlZ2VyIn0sInJlc291cmNlcyI6eyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwicHJvcGVydGllcyI6eyJjbGFpbXMiOnsiZGVzY3JpcHRpb24iOiJDbGFpbXMgbGlzdHMgdGhlIG5hbWVzIG9mIHJlc291cmNlcywgZGVmaW5lZCBpbiBzcGVjLnJlc291cmNlQ2xhaW1zLFxudGhhdCBhcmUgdXNlZCBieSB0aGlzIGNvbnRhaW5lci5cblxuVGhpcyBmaWVsZCBkZXBlbmRzIG9uIHRoZVxuRHluYW1pY1Jlc291cmNlQWxsb2NhdGlvbiBmZWF0dXJlIGdhdGUuXG5cblRoaXMgZmllbGQgaXMgaW1tdXRhYmxlLiBJdCBjYW4gb25seSBiZSBzZXQgZm9yIGNvbnRhaW5lcnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJSZXNvdXJjZUNsYWltIHJlZmVyZW5jZXMgb25lIGVudHJ5IGluIFBvZFNwZWMuUmVzb3VyY2VDbGFpbXMuIiwicHJvcGVydGllcyI6eyJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTmFtZSBtdXN0IG1hdGNoIHRoZSBuYW1lIG9mIG9uZSBlbnRyeSBpbiBwb2Quc3BlYy5yZXNvdXJjZUNsYWltcyBvZlxudGhlIFBvZCB3aGVyZSB0aGlzIGZpZWxkIGlzIHVzZWQuIEl0IG1ha2VzIHRoYXQgcmVzb3VyY2UgYXZhaWxhYmxlXG5pbnNpZGUgYSBjb250YWluZXIuIiwidHlwZSI6InN0cmluZyJ9LCJyZXF1ZXN0Ijp7ImRlc2NyaXB0aW9uIjoiUmVxdWVzdCBpcyB0aGUgbmFtZSBjaG9zZW4gZm9yIGEgcmVxdWVzdCBpbiB0aGUgcmVmZXJlbmNlZCBjbGFpbS5cbklmIGVtcHR5LCBldmVyeXRoaW5nIGZyb20gdGhlIGNsYWltIGlzIG1hZGUgYXZhaWxhYmxlLCBvdGhlcndpc2Vcbm9ubHkgdGhlIHJlc3VsdCBvZiB0aGlzIHJlcXVlc3QuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LW1hcC1rZXlzIjpbIm5hbWUiXSwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6Im1hcCJ9LCJsaW1pdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiTGltaXRzIGRlc2NyaWJlcyB0aGUgbWF4aW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgYWxsb3dlZC5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9LCJyZXF1ZXN0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0cyBkZXNjcmliZXMgdGhlIG1pbmltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIHJlcXVpcmVkLlxuSWYgUmVxdWVzdHMgaXMgb21pdHRlZCBmb3IgYSBjb250YWluZXIsIGl0IGRlZmF1bHRzIHRvIExpbWl0cyBpZiB0aGF0IGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLFxub3RoZXJ3aXNlIHRvIGFuIGltcGxlbWVudGF0aW9uLWRlZmluZWQgdmFsdWUuIFJlcXVlc3RzIGNhbm5vdCBleGNlZWQgTGltaXRzLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sInRpbWVvdXRTZWNvbmRzIjp7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS4iLCJmb3JtYXQiOiJpbnQzMiIsInR5cGUiOiJpbnRlZ2VyIn0sInRvbGVyYXRpb25zIjp7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBwb2QgdGhpcyBUb2xlcmF0aW9uIGlzIGF0dGFjaGVkIHRvIHRvbGVyYXRlcyBhbnkgdGFpbnQgdGhhdCBtYXRjaGVzXG50aGUgdHJpcGxlIFx1MDAzY2tleSx2YWx1ZSxlZmZlY3RcdTAwM2UgdXNpbmcgdGhlIG1hdGNoaW5nIG9wZXJhdG9yIFx1MDAzY29wZXJhdG9yXHUwMDNlLiIsInByb3BlcnRpZXMiOnsiZWZmZWN0Ijp7ImRlc2NyaXB0aW9uIjoiRWZmZWN0IGluZGljYXRlcyB0aGUgdGFpbnQgZWZmZWN0IHRvIG1hdGNoLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQgZWZmZWN0cy5cbldoZW4gc3BlY2lmaWVkLCBhbGxvd2VkIHZhbHVlcyBhcmUgTm9TY2hlZHVsZSwgUHJlZmVyTm9TY2hlZHVsZSBhbmQgTm9FeGVjdXRlLiIsInR5cGUiOiJzdHJpbmcifSwia2V5Ijp7ImRlc2NyaXB0aW9uIjoiS2V5IGlzIHRoZSB0YWludCBrZXkgdGhhdCB0aGUgdG9sZXJhdGlvbiBhcHBsaWVzIHRvLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQga2V5cy5cbklmIHRoZSBrZXkgaXMgZW1wdHksIG9wZXJhdG9yIG11c3QgYmUgRXhpc3RzOyB0aGlzIGNvbWJpbmF0aW9uIG1lYW5zIHRvIG1hdGNoIGFsbCB2YWx1ZXMgYW5kIGFsbCBrZXlzLiIsInR5cGUiOiJzdHJpbmcifSwib3BlcmF0b3IiOnsiZGVzY3JpcHRpb24iOiJPcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIHRoZSB2YWx1ZS5cblZhbGlkIG9wZXJhdG9ycyBhcmUgRXhpc3RzLCBFcXVhbCwgTHQsIGFuZCBHdC4gRGVmYXVsdHMgdG8gRXF1YWwuXG5FeGlzdHMgaXMgZXF1aXZhbGVudCB0byB3aWxkY2FyZCBmb3IgdmFsdWUsIHNvIHRoYXQgYSBwb2QgY2FuXG50b2xlcmF0ZSBhbGwgdGFpbnRzIG9mIGEgcGFydGljdWxhciBjYXRlZ29yeS5cbkx0IGFuZCBHdCBwZXJmb3JtIG51bWVyaWMgY29tcGFyaXNvbnMgKHJlcXVpcmVzIGZlYXR1cmUgZ2F0ZSBUYWludFRvbGVyYXRpb25Db21wYXJpc29uT3BlcmF0b3JzKS4iLCJ0eXBlIjoic3RyaW5nIn0sInRvbGVyYXRpb25TZWNvbmRzIjp7ImRlc2NyaXB0aW9uIjoiVG9sZXJhdGlvblNlY29uZHMgcmVwcmVzZW50cyB0aGUgcGVyaW9kIG9mIHRpbWUgdGhlIHRvbGVyYXRpb24gKHdoaWNoIG11c3QgYmVcbm9mIGVmZmVjdCBOb0V4ZWN1dGUsIG90aGVyd2lzZSB0aGlzIGZpZWxkIGlzIGlnbm9yZWQpIHRvbGVyYXRlcyB0aGUgdGFpbnQuIEJ5IGRlZmF1bHQsXG5pdCBpcyBub3Qgc2V0LCB3aGljaCBtZWFucyB0b2xlcmF0ZSB0aGUgdGFpbnQgZm9yZXZlciAoZG8gbm90IGV2aWN0KS4gWmVybyBhbmRcbm5lZ2F0aXZlIHZhbHVlcyB3aWxsIGJlIHRyZWF0ZWQgYXMgMCAoZXZpY3QgaW1tZWRpYXRlbHkpIGJ5IHRoZSBzeXN0ZW0uIiwiZm9ybWF0IjoiaW50NjQiLCJ0eXBlIjoiaW50ZWdlciJ9LCJ2YWx1ZSI6eyJkZXNjcmlwdGlvbiI6IlZhbHVlIGlzIHRoZSB0YWludCB2YWx1ZSB0aGUgdG9sZXJhdGlvbiBtYXRjaGVzIHRvLlxuSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cywgdGhlIHZhbHVlIHNob3VsZCBiZSBlbXB0eSwgb3RoZXJ3aXNlIGp1c3QgYSByZWd1bGFyIHN0cmluZy4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9fSwidHlwZSI6Im9iamVjdCJ9LCJhdWRpdExvZ3MiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyByZWxhdGluZyB0byB0aGUgaW5nZXN0aW9uIG9mIEt1YmVybmV0ZXMgYXVkaXQgbG9ncy4iLCJwcm9wZXJ0aWVzIjp7ImNvbGxlY3Rpb24iOnsiZGVzY3JpcHRpb24iOiJXaGV0aGVyIGNvbGxlY3Rpb24gb2YgS3ViZXJuZXRlcyBhdWRpdCBsb2dzIHNob3VsZCBiZSBlbmFibGVkIG9yIGRpc2FibGVkLiBDdXJyZW50bHksIHRoaXMgaXMgb25seVxuc3VwcG9ydGVkIG9uIE9wZW5TaGlmdCA0LCBhbmQgdHJ5aW5nIHRvIGVuYWJsZSBpdCBvbiBub24tT3BlblNoaWZ0IDQgY2x1c3RlcnMgd2lsbCByZXN1bHQgaW4gYW4gZXJyb3IuXG5Vc2UgdGhlICdBdXRvJyBzZXR0aW5nIHRvIGVuYWJsZSBpdCBvbiBjb21wYXRpYmxlIGVudmlyb25tZW50cywgYW5kIGRpc2FibGUgaXQgZWxzZXdoZXJlLlxuVGhlIGRlZmF1bHQgaXM6IEF1dG8uIiwiZW51bSI6WyJBdXRvIiwiRGlzYWJsZWQiLCJFbmFibGVkIl0sInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwiY2VudHJhbEVuZHBvaW50Ijp7ImRlc2NyaXB0aW9uIjoiVGhlIGVuZHBvaW50IG9mIHRoZSBSZWQgSGF0IEFkdmFuY2VkIENsdXN0ZXIgU2VjdXJpdHkgQ2VudHJhbCBpbnN0YW5jZSB0byBjb25uZWN0IHRvLFxuaW5jbHVkaW5nIHRoZSBwb3J0IG51bWJlci4gSWYgbm8gcG9ydCBpcyBzcGVjaWZpZWQgYW5kIHRoZSBlbmRwb2ludCBjb250YWlucyBhbiBodHRwczovL1xucHJvdG9jb2wgc3BlY2lmaWNhdGlvbiwgdGhlbiB0aGUgcG9ydCA0NDMgaXMgaW1wbGljaXRseSBhc3N1bWVkLlxuSWYgdXNpbmcgYSBub24tZ1JQQyBjYXBhYmxlIGxvYWQgYmFsYW5jZXIsIHVzZSB0aGUgV2ViU29ja2V0IHByb3RvY29sIGJ5IHByZWZpeGluZyB0aGUgZW5kcG9pbnRcbmFkZHJlc3Mgd2l0aCB3c3M6Ly8uXG5Ob3RlOiB3aGVuIGxlYXZpbmcgdGhpcyBibGFuaywgU2Vuc29yIHdpbGwgYXR0ZW1wdCB0byBjb25uZWN0IHRvIGEgQ2VudHJhbCBpbnN0YW5jZSBydW5uaW5nIGluIHRoZSBzYW1lXG5uYW1lc3BhY2UuIiwidHlwZSI6InN0cmluZyJ9LCJjbHVzdGVyTGFiZWxzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOiJDdXN0b20gbGFiZWxzIGFzc29jaWF0ZWQgd2l0aCBhIHNlY3VyZWQgY2x1c3RlciBpbiBSZWQgSGF0IEFkdmFuY2VkIENsdXN0ZXIgU2VjdXJpdHkuIiwidHlwZSI6Im9iamVjdCJ9LCJjbHVzdGVyTmFtZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSB1bmlxdWUgbmFtZSBvZiB0aGlzIGNsdXN0ZXIsIGFzIGl0IHdpbGwgYmUgc2hvd24gaW4gdGhlIFJlZCBIYXQgQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eSBVSS5cbk5vdGU6IE9uY2UgYSBuYW1lIGlzIHNldCBoZXJlLCB5b3Ugd2lsbCBub3QgYmUgYWJsZSB0byBjaGFuZ2UgaXQgYWdhaW4uIFlvdSB3aWxsIG5lZWQgdG8gZGVsZXRlXG5hbmQgcmUtY3JlYXRlIHRoaXMgb2JqZWN0IGluIG9yZGVyIHRvIHJlZ2lzdGVyIGEgY2x1c3RlciB3aXRoIGEgbmV3IG5hbWUuIiwidHlwZSI6InN0cmluZyJ9LCJjdXN0b21pemUiOnsiZGVzY3JpcHRpb24iOiJDdXN0b21pemF0aW9ucyB0byBhcHBseSBvbiBhbGwgU2VjdXJlZCBDbHVzdGVyIFNlcnZpY2VzIGNvbXBvbmVudHMuIiwicHJvcGVydGllcyI6eyJhbm5vdGF0aW9ucyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjoiQ3VzdG9tIGFubm90YXRpb25zIHRvIHNldCBvbiBhbGwgbWFuYWdlZCBvYmplY3RzLiIsInR5cGUiOiJvYmplY3QifSwiZGVwbG95bWVudERlZmF1bHRzIjp7ImRlc2NyaXB0aW9uIjoiR2xvYmFsIG5vZGVTZWxlY3RvciBhbmQgdG9sZXJhdGlvbnMgZm9yIERlcGxveW1lbnQtYmFzZWQgY29tcG9uZW50cy4gRGFlbW9uU2V0cyAoQ29sbGVjdG9yKSBhcmUgbm90IGFmZmVjdGVkLlxuQ29tcG9uZW50LWxldmVsIG5vZGVTZWxlY3RvciBhbmQgdG9sZXJhdGlvbnMgc2V0dGluZ3Mgb3ZlcnJpZGUgdGhlc2UgZGVmYXVsdHMgb24gYSBmaWVsZC1ieS1maWVsZCBiYXNpcy4iLCJwcm9wZXJ0aWVzIjp7Im5vZGVTZWxlY3RvciI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjoiRGVmYXVsdCBub2RlU2VsZWN0b3IgYXBwbGllZCB0byBhbGwgRGVwbG95bWVudC1iYXNlZCBjb21wb25lbnRzLiBVc2UgdGhpcyBmb3IgY3VzdG9tIG5vZGVcbnNlbGVjdGlvbiBjcml0ZXJpYS5cbkNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggcGluVG9Ob2Rlcy4iLCJ0eXBlIjoib2JqZWN0In0sInBpblRvTm9kZXMiOnsiZGVzY3JpcHRpb24iOiJQaW4gYWxsIERlcGxveW1lbnQtYmFzZWQgY29tcG9uZW50cyB0byBzcGVjaWZpYyBub2RlIHR5cGVzLiBUaGlzIGlzIGEgY29udmVuaWVuY2Ugc2V0dGluZ1xudGhhdCBhdXRvbWF0aWNhbGx5IGNvbmZpZ3VyZXMgYm90aCBub2RlU2VsZWN0b3IgYW5kIHRvbGVyYXRpb25zIHdpdGggcHJlZGVmaW5lZCB2YWx1ZXMuXG5Vc2UgdGhpcyBmb3IgY29tbW9uIHNjZW5hcmlvcyBsaWtlIHJ1bm5pbmcgb24gT3BlblNoaWZ0IGluZnJhc3RydWN0dXJlIG5vZGVzLlxuRm9yIGN1c3RvbSBub2RlIHNlbGVjdGlvbiwgdXNlIHRoZSBleHBsaWNpdCBub2RlU2VsZWN0b3IgYW5kIHRvbGVyYXRpb25zIGZpZWxkcyBpbnN0ZWFkLlxuQ2Fubm90IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBub2RlU2VsZWN0b3Igb3IgdG9sZXJhdGlvbnMgZmllbGRzLlxuVGhlIGRlZmF1bHQgaXM6IE5vbmUuIiwiZW51bSI6WyJOb25lIiwiSW5mcmFSb2xlIl0sInR5cGUiOiJzdHJpbmcifSwidG9sZXJhdGlvbnMiOnsiZGVzY3JpcHRpb24iOiJEZWZhdWx0IHRvbGVyYXRpb25zIGFwcGxpZWQgdG8gYWxsIERlcGxveW1lbnQtYmFzZWQgY29tcG9uZW50cy4gVXNlIHRoaXMgd2hlbiB5b3VyIHRhcmdldFxubm9kZXMgaGF2ZSBjdXN0b20gdGFpbnRzIHRoYXQgcG9kcyBtdXN0IHRvbGVyYXRlLlxuQ2Fubm90IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBwaW5Ub05vZGVzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHBvZCB0aGlzIFRvbGVyYXRpb24gaXMgYXR0YWNoZWQgdG8gdG9sZXJhdGVzIGFueSB0YWludCB0aGF0IG1hdGNoZXNcbnRoZSB0cmlwbGUgXHUwMDNja2V5LHZhbHVlLGVmZmVjdFx1MDAzZSB1c2luZyB0aGUgbWF0Y2hpbmcgb3BlcmF0b3IgXHUwMDNjb3BlcmF0b3JcdTAwM2UuIiwicHJvcGVydGllcyI6eyJlZmZlY3QiOnsiZGVzY3JpcHRpb24iOiJFZmZlY3QgaW5kaWNhdGVzIHRoZSB0YWludCBlZmZlY3QgdG8gbWF0Y2guIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBlZmZlY3RzLlxuV2hlbiBzcGVjaWZpZWQsIGFsbG93ZWQgdmFsdWVzIGFyZSBOb1NjaGVkdWxlLCBQcmVmZXJOb1NjaGVkdWxlIGFuZCBOb0V4ZWN1dGUuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJLZXkgaXMgdGhlIHRhaW50IGtleSB0aGF0IHRoZSB0b2xlcmF0aW9uIGFwcGxpZXMgdG8uIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBrZXlzLlxuSWYgdGhlIGtleSBpcyBlbXB0eSwgb3BlcmF0b3IgbXVzdCBiZSBFeGlzdHM7IHRoaXMgY29tYmluYXRpb24gbWVhbnMgdG8gbWF0Y2ggYWxsIHZhbHVlcyBhbmQgYWxsIGtleXMuIiwidHlwZSI6InN0cmluZyJ9LCJvcGVyYXRvciI6eyJkZXNjcmlwdGlvbiI6Ik9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gdGhlIHZhbHVlLlxuVmFsaWQgb3BlcmF0b3JzIGFyZSBFeGlzdHMsIEVxdWFsLCBMdCwgYW5kIEd0LiBEZWZhdWx0cyB0byBFcXVhbC5cbkV4aXN0cyBpcyBlcXVpdmFsZW50IHRvIHdpbGRjYXJkIGZvciB2YWx1ZSwgc28gdGhhdCBhIHBvZCBjYW5cbnRvbGVyYXRlIGFsbCB0YWludHMgb2YgYSBwYXJ0aWN1bGFyIGNhdGVnb3J5LlxuTHQgYW5kIEd0IHBlcmZvcm0gbnVtZXJpYyBjb21wYXJpc29ucyAocmVxdWlyZXMgZmVhdHVyZSBnYXRlIFRhaW50VG9sZXJhdGlvbkNvbXBhcmlzb25PcGVyYXRvcnMpLiIsInR5cGUiOiJzdHJpbmcifSwidG9sZXJhdGlvblNlY29uZHMiOnsiZGVzY3JpcHRpb24iOiJUb2xlcmF0aW9uU2Vjb25kcyByZXByZXNlbnRzIHRoZSBwZXJpb2Qgb2YgdGltZSB0aGUgdG9sZXJhdGlvbiAod2hpY2ggbXVzdCBiZVxub2YgZWZmZWN0IE5vRXhlY3V0ZSwgb3RoZXJ3aXNlIHRoaXMgZmllbGQgaXMgaWdub3JlZCkgdG9sZXJhdGVzIHRoZSB0YWludC4gQnkgZGVmYXVsdCxcbml0IGlzIG5vdCBzZXQsIHdoaWNoIG1lYW5zIHRvbGVyYXRlIHRoZSB0YWludCBmb3JldmVyIChkbyBub3QgZXZpY3QpLiBaZXJvIGFuZFxubmVnYXRpdmUgdmFsdWVzIHdpbGwgYmUgdHJlYXRlZCBhcyAwIChldmljdCBpbW1lZGlhdGVseSkgYnkgdGhlIHN5c3RlbS4iLCJmb3JtYXQiOiJpbnQ2NCIsInR5cGUiOiJpbnRlZ2VyIn0sInZhbHVlIjp7ImRlc2NyaXB0aW9uIjoiVmFsdWUgaXMgdGhlIHRhaW50IHZhbHVlIHRoZSB0b2xlcmF0aW9uIG1hdGNoZXMgdG8uXG5JZiB0aGUgb3BlcmF0b3IgaXMgRXhpc3RzLCB0aGUgdmFsdWUgc2hvdWxkIGJlIGVtcHR5LCBvdGhlcndpc2UganVzdCBhIHJlZ3VsYXIgc3RyaW5nLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sImVudlZhcnMiOnsiZGVzY3JpcHRpb24iOiJDdXN0b20gZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNldCBvbiBtYW5hZ2VkIHBvZHMnIGNvbnRhaW5lcnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJFbnZWYXIgcmVwcmVzZW50cyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBwcmVzZW50IGluIGEgQ29udGFpbmVyLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik5hbWUgb2YgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlLlxuTWF5IGNvbnNpc3Qgb2YgYW55IHByaW50YWJsZSBBU0NJSSBjaGFyYWN0ZXJzIGV4Y2VwdCAnPScuIiwidHlwZSI6InN0cmluZyJ9LCJ2YWx1ZSI6eyJkZXNjcmlwdGlvbiI6IlZhcmlhYmxlIHJlZmVyZW5jZXMgJChWQVJfTkFNRSkgYXJlIGV4cGFuZGVkXG51c2luZyB0aGUgcHJldmlvdXNseSBkZWZpbmVkIGVudmlyb25tZW50IHZhcmlhYmxlcyBpbiB0aGUgY29udGFpbmVyIGFuZFxuYW55IHNlcnZpY2UgZW52aXJvbm1lbnQgdmFyaWFibGVzLiBJZiBhIHZhcmlhYmxlIGNhbm5vdCBiZSByZXNvbHZlZCxcbnRoZSByZWZlcmVuY2UgaW4gdGhlIGlucHV0IHN0cmluZyB3aWxsIGJlIHVuY2hhbmdlZC4gRG91YmxlICQkIGFyZSByZWR1Y2VkXG50byBhIHNpbmdsZSAkLCB3aGljaCBhbGxvd3MgZm9yIGVzY2FwaW5nIHRoZSAkKFZBUl9OQU1FKSBzeW50YXg6IGkuZS5cblwiJCQoVkFSX05BTUUpXCIgd2lsbCBwcm9kdWNlIHRoZSBzdHJpbmcgbGl0ZXJhbCBcIiQoVkFSX05BTUUpXCIuXG5Fc2NhcGVkIHJlZmVyZW5jZXMgd2lsbCBuZXZlciBiZSBleHBhbmRlZCwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSB2YXJpYWJsZVxuZXhpc3RzIG9yIG5vdC5cbkRlZmF1bHRzIHRvIFwiXCIuIiwidHlwZSI6InN0cmluZyJ9LCJ2YWx1ZUZyb20iOnsiZGVzY3JpcHRpb24iOiJTb3VyY2UgZm9yIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSdzIHZhbHVlLiBDYW5ub3QgYmUgdXNlZCBpZiB2YWx1ZSBpcyBub3QgZW1wdHkuIiwicHJvcGVydGllcyI6eyJjb25maWdNYXBLZXlSZWYiOnsiZGVzY3JpcHRpb24iOiJTZWxlY3RzIGEga2V5IG9mIGEgQ29uZmlnTWFwLiIsInByb3BlcnRpZXMiOnsia2V5Ijp7ImRlc2NyaXB0aW9uIjoiVGhlIGtleSB0byBzZWxlY3QuIiwidHlwZSI6InN0cmluZyJ9LCJuYW1lIjp7ImRlZmF1bHQiOiIiLCJkZXNjcmlwdGlvbiI6Ik5hbWUgb2YgdGhlIHJlZmVyZW50LlxuVGhpcyBmaWVsZCBpcyBlZmZlY3RpdmVseSByZXF1aXJlZCwgYnV0IGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBpc1xuYWxsb3dlZCB0byBiZSBlbXB0eS4gSW5zdGFuY2VzIG9mIHRoaXMgdHlwZSB3aXRoIGFuIGVtcHR5IHZhbHVlIGhlcmUgYXJlXG5hbG1vc3QgY2VydGFpbmx5IHdyb25nLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9vdmVydmlldy93b3JraW5nLXdpdGgtb2JqZWN0cy9uYW1lcy8jbmFtZXMiLCJ0eXBlIjoic3RyaW5nIn0sIm9wdGlvbmFsIjp7ImRlc2NyaXB0aW9uIjoiU3BlY2lmeSB3aGV0aGVyIHRoZSBDb25maWdNYXAgb3IgaXRzIGtleSBtdXN0IGJlIGRlZmluZWQiLCJ0eXBlIjoiYm9vbGVhbiJ9fSwicmVxdWlyZWQiOlsia2V5Il0sInR5cGUiOiJvYmplY3QiLCJ4LWt1YmVybmV0ZXMtbWFwLXR5cGUiOiJhdG9taWMifSwiZmllbGRSZWYiOnsiZGVzY3JpcHRpb24iOiJTZWxlY3RzIGEgZmllbGQgb2YgdGhlIHBvZDogc3VwcG9ydHMgbWV0YWRhdGEubmFtZSwgbWV0YWRhdGEubmFtZXNwYWNlLCBgbWV0YWRhdGEubGFiZWxzWydcdTAwM2NLRVlcdTAwM2UnXWAsIGBtZXRhZGF0YS5hbm5vdGF0aW9uc1snXHUwMDNjS0VZXHUwMDNlJ11gLFxuc3BlYy5ub2RlTmFtZSwgc3BlYy5zZXJ2aWNlQWNjb3VudE5hbWUsIHN0YXR1cy5ob3N0SVAsIHN0YXR1cy5wb2RJUCwgc3RhdHVzLnBvZElQcy4iLCJwcm9wZXJ0aWVzIjp7ImFwaVZlcnNpb24iOnsiZGVzY3JpcHRpb24iOiJWZXJzaW9uIG9mIHRoZSBzY2hlbWEgdGhlIEZpZWxkUGF0aCBpcyB3cml0dGVuIGluIHRlcm1zIG9mLCBkZWZhdWx0cyB0byBcInYxXCIuIiwidHlwZSI6InN0cmluZyJ9LCJmaWVsZFBhdGgiOnsiZGVzY3JpcHRpb24iOiJQYXRoIG9mIHRoZSBmaWVsZCB0byBzZWxlY3QgaW4gdGhlIHNwZWNpZmllZCBBUEkgdmVyc2lvbi4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJmaWVsZFBhdGgiXSwidHlwZSI6Im9iamVjdCIsIngta3ViZXJuZXRlcy1tYXAtdHlwZSI6ImF0b21pYyJ9LCJmaWxlS2V5UmVmIjp7ImRlc2NyaXB0aW9uIjoiRmlsZUtleVJlZiBzZWxlY3RzIGEga2V5IG9mIHRoZSBlbnYgZmlsZS5cblJlcXVpcmVzIHRoZSBFbnZGaWxlcyBmZWF0dXJlIGdhdGUgdG8gYmUgZW5hYmxlZC4iLCJwcm9wZXJ0aWVzIjp7ImtleSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBrZXkgd2l0aGluIHRoZSBlbnYgZmlsZS4gQW4gaW52YWxpZCBrZXkgd2lsbCBwcmV2ZW50IHRoZSBwb2QgZnJvbSBzdGFydGluZy5cblRoZSBrZXlzIGRlZmluZWQgd2l0aGluIGEgc291cmNlIG1heSBjb25zaXN0IG9mIGFueSBwcmludGFibGUgQVNDSUkgY2hhcmFjdGVycyBleGNlcHQgJz0nLlxuRHVyaW5nIEFscGhhIHN0YWdlIG9mIHRoZSBFbnZGaWxlcyBmZWF0dXJlIGdhdGUsIHRoZSBrZXkgc2l6ZSBpcyBsaW1pdGVkIHRvIDEyOCBjaGFyYWN0ZXJzLiIsInR5cGUiOiJzdHJpbmcifSwib3B0aW9uYWwiOnsiZGVmYXVsdCI6ZmFsc2UsImRlc2NyaXB0aW9uIjoiU3BlY2lmeSB3aGV0aGVyIHRoZSBmaWxlIG9yIGl0cyBrZXkgbXVzdCBiZSBkZWZpbmVkLiBJZiB0aGUgZmlsZSBvciBrZXlcbmRvZXMgbm90IGV4aXN0LCB0aGVuIHRoZSBlbnYgdmFyIGlzIG5vdCBwdWJsaXNoZWQuXG5JZiBvcHRpb25hbCBpcyBzZXQgdG8gdHJ1ZSBhbmQgdGhlIHNwZWNpZmllZCBrZXkgZG9lcyBub3QgZXhpc3QsXG50aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgd2lsbCBub3QgYmUgc2V0IGluIHRoZSBQb2QncyBjb250YWluZXJzLlxuXG5JZiBvcHRpb25hbCBpcyBzZXQgdG8gZmFsc2UgYW5kIHRoZSBzcGVjaWZpZWQga2V5IGRvZXMgbm90IGV4aXN0LFxuYW4gZXJyb3Igd2lsbCBiZSByZXR1cm5lZCBkdXJpbmcgUG9kIGNyZWF0aW9uLiIsInR5cGUiOiJib29sZWFuIn0sInBhdGgiOnsiZGVzY3JpcHRpb24iOiJUaGUgcGF0aCB3aXRoaW4gdGhlIHZvbHVtZSBmcm9tIHdoaWNoIHRvIHNlbGVjdCB0aGUgZmlsZS5cbk11c3QgYmUgcmVsYXRpdmUgYW5kIG1heSBub3QgY29udGFpbiB0aGUgJy4uJyBwYXRoIG9yIHN0YXJ0IHdpdGggJy4uJy4iLCJ0eXBlIjoic3RyaW5nIn0sInZvbHVtZU5hbWUiOnsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgdm9sdW1lIG1vdW50IGNvbnRhaW5pbmcgdGhlIGVudiBmaWxlLiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbImtleSIsInBhdGgiLCJ2b2x1bWVOYW1lIl0sInR5cGUiOiJvYmplY3QiLCJ4LWt1YmVybmV0ZXMtbWFwLXR5cGUiOiJhdG9taWMifSwicmVzb3VyY2VGaWVsZFJlZiI6eyJkZXNjcmlwdGlvbiI6IlNlbGVjdHMgYSByZXNvdXJjZSBvZiB0aGUgY29udGFpbmVyOiBvbmx5IHJlc291cmNlcyBsaW1pdHMgYW5kIHJlcXVlc3RzXG4obGltaXRzLmNwdSwgbGltaXRzLm1lbW9yeSwgbGltaXRzLmVwaGVtZXJhbC1zdG9yYWdlLCByZXF1ZXN0cy5jcHUsIHJlcXVlc3RzLm1lbW9yeSBhbmQgcmVxdWVzdHMuZXBoZW1lcmFsLXN0b3JhZ2UpIGFyZSBjdXJyZW50bHkgc3VwcG9ydGVkLiIsInByb3BlcnRpZXMiOnsiY29udGFpbmVyTmFtZSI6eyJkZXNjcmlwdGlvbiI6IkNvbnRhaW5lciBuYW1lOiByZXF1aXJlZCBmb3Igdm9sdW1lcywgb3B0aW9uYWwgZm9yIGVudiB2YXJzIiwidHlwZSI6InN0cmluZyJ9LCJkaXZpc29yIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwiZGVzY3JpcHRpb24iOiJTcGVjaWZpZXMgdGhlIG91dHB1dCBmb3JtYXQgb2YgdGhlIGV4cG9zZWQgcmVzb3VyY2VzLCBkZWZhdWx0cyB0byBcIjFcIiIsInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwicmVzb3VyY2UiOnsiZGVzY3JpcHRpb24iOiJSZXF1aXJlZDogcmVzb3VyY2UgdG8gc2VsZWN0IiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsicmVzb3VyY2UiXSwidHlwZSI6Im9iamVjdCIsIngta3ViZXJuZXRlcy1tYXAtdHlwZSI6ImF0b21pYyJ9LCJzZWNyZXRLZXlSZWYiOnsiZGVzY3JpcHRpb24iOiJTZWxlY3RzIGEga2V5IG9mIGEgc2VjcmV0IGluIHRoZSBwb2QncyBuYW1lc3BhY2UiLCJwcm9wZXJ0aWVzIjp7ImtleSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBrZXkgb2YgdGhlIHNlY3JldCB0byBzZWxlY3QgZnJvbS4gIE11c3QgYmUgYSB2YWxpZCBzZWNyZXQga2V5LiIsInR5cGUiOiJzdHJpbmcifSwibmFtZSI6eyJkZWZhdWx0IjoiIiwiZGVzY3JpcHRpb24iOiJOYW1lIG9mIHRoZSByZWZlcmVudC5cblRoaXMgZmllbGQgaXMgZWZmZWN0aXZlbHkgcmVxdWlyZWQsIGJ1dCBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgaXNcbmFsbG93ZWQgdG8gYmUgZW1wdHkuIEluc3RhbmNlcyBvZiB0aGlzIHR5cGUgd2l0aCBhbiBlbXB0eSB2YWx1ZSBoZXJlIGFyZVxuYWxtb3N0IGNlcnRhaW5seSB3cm9uZy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvb3ZlcnZpZXcvd29ya2luZy13aXRoLW9iamVjdHMvbmFtZXMvI25hbWVzIiwidHlwZSI6InN0cmluZyJ9LCJvcHRpb25hbCI6eyJkZXNjcmlwdGlvbiI6IlNwZWNpZnkgd2hldGhlciB0aGUgU2VjcmV0IG9yIGl0cyBrZXkgbXVzdCBiZSBkZWZpbmVkIiwidHlwZSI6ImJvb2xlYW4ifX0sInJlcXVpcmVkIjpbImtleSJdLCJ0eXBlIjoib2JqZWN0IiwieC1rdWJlcm5ldGVzLW1hcC10eXBlIjoiYXRvbWljIn19LCJ0eXBlIjoib2JqZWN0In19LCJyZXF1aXJlZCI6WyJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In0sImxhYmVscyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjoiQ3VzdG9tIGxhYmVscyB0byBzZXQgb24gYWxsIG1hbmFnZWQgb2JqZWN0cy4iLCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sImltYWdlUHVsbFNlY3JldHMiOnsiZGVzY3JpcHRpb24iOiJBZGRpdGlvbmFsIGltYWdlIHB1bGwgc2VjcmV0cyB0byBiZSB0YWtlbiBpbnRvIGFjY291bnQgZm9yIHB1bGxpbmcgaW1hZ2VzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiTG9jYWxTZWNyZXRSZWZlcmVuY2UgaXMgYSByZWZlcmVuY2UgdG8gYSBzZWNyZXQgd2l0aGluIHRoZSBzYW1lIG5hbWVzcGFjZS4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBzZWNyZXQuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJtaXNjIjp7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cbk1pc2NlbGxhbmVvdXMgc2V0dGluZ3MuIiwicHJvcGVydGllcyI6eyJjcmVhdGVTQ0NzIjp7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cblNldCB0aGlzIHRvIHRydWUgdG8gaGF2ZSB0aGUgb3BlcmF0b3IgY3JlYXRlIFNlY3VyaXR5Q29udGV4dENvbnN0cmFpbnRzIChTQ0NzKSBmb3IgdGhlIG9wZXJhbmRzLiBUaGlzXG5pc24ndCB1c3VhbGx5IG5lZWRlZCwgYW5kIG1heSBpbnRlcmZlcmUgd2l0aCBvdGhlciB3b3JrbG9hZHMuIiwidHlwZSI6ImJvb2xlYW4ifX0sInR5cGUiOiJvYmplY3QifSwibW9uaXRvcmluZyI6eyJkZXNjcmlwdGlvbiI6Ik1vbml0b3JpbmcgY29uZmlndXJhdGlvbi4iLCJwcm9wZXJ0aWVzIjp7Im9wZW5zaGlmdCI6eyJkZXNjcmlwdGlvbiI6Ik9wZW5TaGlmdE1vbml0b3JpbmcgZGVmaW5lcyBzZXR0aW5ncyByZWxhdGVkIHRvIE9wZW5TaGlmdCBNb25pdG9yaW5nIiwicHJvcGVydGllcyI6eyJlbmFibGVkIjp7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IHRydWUuIiwidHlwZSI6ImJvb2xlYW4ifX0sInJlcXVpcmVkIjpbImVuYWJsZWQiXSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJuZXR3b3JrIjp7ImRlc2NyaXB0aW9uIjoiTmV0d29yayBjb25maWd1cmF0aW9uLiIsInByb3BlcnRpZXMiOnsicG9saWNpZXMiOnsiZGVzY3JpcHRpb24iOiJUbyBwcm92aWRlIHNlY3VyaXR5IGF0IHRoZSBuZXR3b3JrIGxldmVsLCB0aGUgQUNTIE9wZXJhdG9yIGNyZWF0ZXMgTmV0d29ya1BvbGljeSByZXNvdXJjZXMgYnkgZGVmYXVsdC4gSWYgeW91IHdhbnQgdG8gbWFuYWdlIHlvdXIgb3duIE5ldHdvcmtQb2xpY3kgb2JqZWN0cyB0aGVuIHNldCB0aGlzIHRvIFwiRGlzYWJsZWRcIi5cblRoZSBkZWZhdWx0IGlzOiBFbmFibGVkLiIsImVudW0iOlsiRW5hYmxlZCIsIkRpc2FibGVkIl0sInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwib3ZlcmxheXMiOnsiZGVzY3JpcHRpb24iOiJPdmVybGF5cyIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiSzhzT2JqZWN0T3ZlcmxheSBpcyBhbiBvdmVybGF5IHRoYXQgYXBwbGllcyBhIHNldCBvZiBwYXRjaGVzIHRvIGEgcmVzb3VyY2UuXG5JdCB0YXJnZXRzIGEgcmVzb3VyY2UgYnkgaXRzIEFQSSB2ZXJzaW9uLCBraW5kLCBhbmQgbmFtZSwgYW5kIGFwcGxpZXNcbmEgbGlzdCBvZiBwYXRjaGVzIHRvIHRoaXMgcmVzb3VyY2UuXG5cbiMgRXhhbXBsZXNcblxuIyMgQWRkaW5nIGFuIGFubm90YXRpb24gdG8gYSByZXNvdXJjZVxuXG5cdGFwaVZlcnNpb246IHYxXG5cdGtpbmQ6IFNlcnZpY2VBY2NvdW50XG5cdG5hbWU6IGNlbnRyYWxcblx0cGF0Y2hlczpcblx0LSBwYXRoOiBtZXRhZGF0YS5hbm5vdGF0aW9ucy5la3NcXC5hbWF6b25hd3NcXC5jb20vcm9sZS1hcm5cblx0ICB2YWx1ZTogXCJcXFwiYXJuOmF3czppYW06MTIzNDpyb2xlXFxcIlwiXG5cbiMjIEFkZGluZyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBhIGRlcGxveW1lbnRcblxuXHRhcGlWZXJzaW9uOiBhcHBzL3YxXG5cdGtpbmQ6IERlcGxveW1lbnRcblx0bmFtZTogY2VudHJhbFxuXHRwYXRjaGVzOlxuXHQtIHBhdGg6IHNwZWMudGVtcGxhdGUuc3BlYy5jb250YWluZXJzW25hbWU6Y2VudHJhbF0uZW52Wy0xXVxuXHQgIHZhbHVlOiB8XG5cdCAgICBuYW1lOiBNWV9FTlZfVkFSXG5cdCAgICB2YWx1ZTogdmFsdWVcblxuIyMgQWRkaW5nIGFuIGluZ3Jlc3MgdG8gYSBuZXR3b3JrIHBvbGljeVxuXG5cdGFwaVZlcnNpb246IG5ldHdvcmtpbmcuazhzLmlvL3YxXG5cdGtpbmQ6IE5ldHdvcmtQb2xpY3lcblx0bmFtZTogYWxsb3ctZXh0LXRvLWNlbnRyYWxcblx0cGF0Y2hlczpcblx0LSBwYXRoOiBzcGVjLmluZ3Jlc3NbLTFdXG5cdCAgdmFsdWU6IHxcblx0ICAgIHBvcnRzOlxuXHQgICAgLSBwb3J0OiA5OTlcblx0ICAgICAgcHJvdG9jb2w6IFRDUFxuXG4jIyBDaGFuZ2luZyB0aGUgdmFsdWUgb2YgYSBDb25maWdNYXBcblxuXHRhcGlWZXJzaW9uOiB2MVxuXHRraW5kOiBDb25maWdNYXBcblx0bmFtZTogY2VudHJhbC1lbmRwb2ludHNcblx0cGF0Y2hlczpcblx0LSBwYXRoOiBkYXRhLmVuZHBvaW50c1xcLnlhbWw6XG5cdCAgdmVyYmF0aW06IHxcblx0ICAgIGRpc2FibGVEZWZhdWx0OiBmYWxzZVxuXG4jIyBBZGRpbmcgYSBjb250YWluZXIgdG8gYSBkZXBsb3ltZW50XG5cblx0YXBpVmVyc2lvbjogYXBwcy92MVxuXHRraW5kOiBEZXBsb3ltZW50XG5cdG5hbWU6IGNlbnRyYWxcblx0cGF0Y2hlczpcblx0ICAtIHBhdGg6IHNwZWMudGVtcGxhdGUuc3BlYy5jb250YWluZXJzWy0xXVxuXHQgICAgdmFsdWU6IHxcblx0ICAgICAgbmFtZTogbmdpbnhcblx0ICAgICAgaW1hZ2U6IG5naW54XG5cdCAgICAgIHBvcnRzOlxuXHQgICAgICAtIGNvbnRhaW5lclBvcnQ6IDgwMDBcblx0ICAgICAgICBuYW1lOiBodHRwXG5cdCAgICAgICAgcHJvdG9jb2w6IFRDUCIsInByb3BlcnRpZXMiOnsiYXBpVmVyc2lvbiI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlIEFQSSB2ZXJzaW9uLiIsInR5cGUiOiJzdHJpbmcifSwia2luZCI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlIGtpbmQuIiwidHlwZSI6InN0cmluZyJ9LCJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTmFtZSBvZiByZXNvdXJjZS4iLCJ0eXBlIjoic3RyaW5nIn0sIm9wdGlvbmFsIjp7ImRlc2NyaXB0aW9uIjoiT3B0aW9uYWwgbWFya3MgdGhlIG92ZXJsYXkgYXMgb3B0aW9uYWwuXG5XaGVuIE9wdGlvbmFsIGlzIHRydWUsIGFuZCB0aGUgc3BlY2lmaWVkIHJlc291cmNlIGRvZXMgbm90IGV4aXN0IGluIHRoZSBvdXRwdXQgbWFuaWZlc3RzLCB0aGUgb3ZlcmxheSB3aWxsIGJlIHNraXBwZWQsIGFuZCBhIHdhcm5pbmcgd2lsbCBiZSBsb2dnZWQuXG5XaGVuIE9wdGlvbmFsIGlzIGZhbHNlLCBhbmQgdGhlIHNwZWNpZmllZCByZXNvdXJjZSBkb2VzIG5vdCBleGlzdCBpbiB0aGUgb3V0cHV0IG1hbmlmZXN0cywgYW4gZXJyb3Igd2lsbCBiZSB0aHJvd24uIiwidHlwZSI6ImJvb2xlYW4ifSwicGF0Y2hlcyI6eyJkZXNjcmlwdGlvbiI6Ikxpc3Qgb2YgcGF0Y2hlcyB0byBhcHBseSB0byByZXNvdXJjZS4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6Iks4c09iamVjdE92ZXJsYXlQYXRjaCBkZWZpbmVzIGEgcGF0Y2ggdG8gYXBwbHkgdG8gYSByZXNvdXJjZS4iLCJwcm9wZXJ0aWVzIjp7InBhdGgiOnsiZGVzY3JpcHRpb24iOiJQYXRoIG9mIHRoZSBmb3JtIGEuW2tleTE6dmFsdWUxXS5iLls6dmFsdWUyXVxuV2hlcmUgW2tleTE6dmFsdWUxXSBpcyBhIHNlbGVjdG9yIGZvciBhIGtleS12YWx1ZSBwYWlyIHRvIGlkZW50aWZ5IGEgbGlzdCBlbGVtZW50IGFuZCBbOnZhbHVlXSBpcyBhIHZhbHVlXG5zZWxlY3RvciB0byBpZGVudGlmeSBhIGxpc3QgZWxlbWVudCBpbiBhIGxlYWYgbGlzdC5cbkFsbCBwYXRoIGludGVybWVkaWF0ZSBub2RlcyBtdXN0IGV4aXN0LiIsInR5cGUiOiJzdHJpbmcifSwidmFsdWUiOnsiZGVzY3JpcHRpb24iOiJWYWx1ZSB0byBhZGQsIGRlbGV0ZSBvciByZXBsYWNlLlxuRm9yIGFkZCwgdGhlIHBhdGggc2hvdWxkIGJlIGEgbmV3IGxlYWYuXG5Gb3IgZGVsZXRlLCB2YWx1ZSBzaG91bGQgYmUgdW5zZXQuXG5Gb3IgcmVwbGFjZSwgcGF0aCBzaG91bGQgcmVmZXJlbmNlIGFuIGV4aXN0aW5nIG5vZGUuXG5BbGwgdmFsdWVzIGFyZSBzdHJpbmdzIGJ1dCBhcmUgY29udmVydGVkIGludG8gYXBwcm9wcmlhdGUgdHlwZSBiYXNlZCBvbiBzY2hlbWEuIiwidHlwZSI6InN0cmluZyJ9LCJ2ZXJiYXRpbSI6eyJkZXNjcmlwdGlvbiI6IlZlcmJhdGltIHZhbHVlIHRvIGFkZCwgZGVsZXRlIG9yIHJlcGxhY2UuXG5TYW1lIGFzIFZhbHVlLCBidXQgdGhlIGNvbnRlbnQgaXMgbm90IGludGVycHJldGVkIGFzIFlBTUwgYW5kIGlzIHRyZWF0ZWQgYXMgYSBsaXRlcmFsIHN0cmluZyBpbnN0ZWFkLlxuQXQgbGVhc3Qgb25lIG9mIFZhbHVlIGFuZCBWZXJiYXRpbSBtdXN0IGJlIGVtcHR5LiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJwZXJOb2RlIjp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBjb21wb25lbnRzIHJ1bm5pbmcgb24gZWFjaCBub2RlIGluIHRoZSBjbHVzdGVyIChDb2xsZWN0b3IgYW5kIENvbXBsaWFuY2UpLiIsInByb3BlcnRpZXMiOnsiY29sbGVjdG9yIjp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBDb2xsZWN0b3IgY29udGFpbmVyLCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgY29sbGVjdGluZyBwcm9jZXNzIGFuZCBuZXR3b3JraW5nXG5hY3Rpdml0eSBhdCB0aGUgaG9zdCBsZXZlbC4iLCJwcm9wZXJ0aWVzIjp7ImNvbGxlY3Rpb24iOnsiZGVzY3JpcHRpb24iOiJUaGUgbWV0aG9kIGZvciBzeXN0ZW0tbGV2ZWwgZGF0YSBjb2xsZWN0aW9uLiBDT1JFX0JQRiBpcyByZWNvbW1lbmRlZC5cbklmIHlvdSBzZWxlY3QgXCJOb0NvbGxlY3Rpb25cIiwgeW91IHdpbGwgbm90IGJlIGFibGUgdG8gc2VlIGFueSBpbmZvcm1hdGlvbiBhYm91dCBuZXR3b3JrIGFjdGl2aXR5XG5hbmQgcHJvY2VzcyBleGVjdXRpb25zLiBUaGUgcmVtYWluaW5nIHNldHRpbmdzIGluIHRoaXMgc2VjdGlvbiB3aWxsIG5vdCBoYXZlIGFueSBlZmZlY3QuXG5UaGUgdmFsdWUgaXMgYSBzdWJqZWN0IG9mIGNvbnZlcnNpb24gYnkgdGhlIG9wZXJhdG9yIGlmIG5lZWRlZCwgZS5nLiB0b1xucmVtb3ZlIGRlcHJlY2F0ZWQgbWV0aG9kcy5cblRoZSBkZWZhdWx0IGlzOiBDT1JFX0JQRi4iLCJlbnVtIjpbIkVCUEYiLCJDT1JFX0JQRiIsIk5vQ29sbGVjdGlvbiIsIktlcm5lbE1vZHVsZSJdLCJ0eXBlIjoic3RyaW5nIn0sImZvcmNlQ29sbGVjdGlvbiI6eyJkZXNjcmlwdGlvbiI6Ik9ic29sZXRlIGZpZWxkLiBUaGlzIGZpZWxkIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLiIsInR5cGUiOiJib29sZWFuIn0sImltYWdlRmxhdm9yIjp7ImRlc2NyaXB0aW9uIjoiT2Jzb2xldGUgZmllbGQuIiwiZW51bSI6WyJSZWd1bGFyIiwiU2xpbSJdLCJ0eXBlIjoic3RyaW5nIn0sInJlc291cmNlcyI6eyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwicHJvcGVydGllcyI6eyJjbGFpbXMiOnsiZGVzY3JpcHRpb24iOiJDbGFpbXMgbGlzdHMgdGhlIG5hbWVzIG9mIHJlc291cmNlcywgZGVmaW5lZCBpbiBzcGVjLnJlc291cmNlQ2xhaW1zLFxudGhhdCBhcmUgdXNlZCBieSB0aGlzIGNvbnRhaW5lci5cblxuVGhpcyBmaWVsZCBkZXBlbmRzIG9uIHRoZVxuRHluYW1pY1Jlc291cmNlQWxsb2NhdGlvbiBmZWF0dXJlIGdhdGUuXG5cblRoaXMgZmllbGQgaXMgaW1tdXRhYmxlLiBJdCBjYW4gb25seSBiZSBzZXQgZm9yIGNvbnRhaW5lcnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJSZXNvdXJjZUNsYWltIHJlZmVyZW5jZXMgb25lIGVudHJ5IGluIFBvZFNwZWMuUmVzb3VyY2VDbGFpbXMuIiwicHJvcGVydGllcyI6eyJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTmFtZSBtdXN0IG1hdGNoIHRoZSBuYW1lIG9mIG9uZSBlbnRyeSBpbiBwb2Quc3BlYy5yZXNvdXJjZUNsYWltcyBvZlxudGhlIFBvZCB3aGVyZSB0aGlzIGZpZWxkIGlzIHVzZWQuIEl0IG1ha2VzIHRoYXQgcmVzb3VyY2UgYXZhaWxhYmxlXG5pbnNpZGUgYSBjb250YWluZXIuIiwidHlwZSI6InN0cmluZyJ9LCJyZXF1ZXN0Ijp7ImRlc2NyaXB0aW9uIjoiUmVxdWVzdCBpcyB0aGUgbmFtZSBjaG9zZW4gZm9yIGEgcmVxdWVzdCBpbiB0aGUgcmVmZXJlbmNlZCBjbGFpbS5cbklmIGVtcHR5LCBldmVyeXRoaW5nIGZyb20gdGhlIGNsYWltIGlzIG1hZGUgYXZhaWxhYmxlLCBvdGhlcndpc2Vcbm9ubHkgdGhlIHJlc3VsdCBvZiB0aGlzIHJlcXVlc3QuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LW1hcC1rZXlzIjpbIm5hbWUiXSwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6Im1hcCJ9LCJsaW1pdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiTGltaXRzIGRlc2NyaWJlcyB0aGUgbWF4aW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgYWxsb3dlZC5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9LCJyZXF1ZXN0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0cyBkZXNjcmliZXMgdGhlIG1pbmltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIHJlcXVpcmVkLlxuSWYgUmVxdWVzdHMgaXMgb21pdHRlZCBmb3IgYSBjb250YWluZXIsIGl0IGRlZmF1bHRzIHRvIExpbWl0cyBpZiB0aGF0IGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLFxub3RoZXJ3aXNlIHRvIGFuIGltcGxlbWVudGF0aW9uLWRlZmluZWQgdmFsdWUuIFJlcXVlc3RzIGNhbm5vdCBleGNlZWQgTGltaXRzLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sImNvbXBsaWFuY2UiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIENvbXBsaWFuY2UgY29udGFpbmVyLCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgY2hlY2tpbmcgaG9zdC1sZXZlbCBjb25maWd1cmF0aW9ucy4iLCJwcm9wZXJ0aWVzIjp7InJlc291cmNlcyI6eyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwicHJvcGVydGllcyI6eyJjbGFpbXMiOnsiZGVzY3JpcHRpb24iOiJDbGFpbXMgbGlzdHMgdGhlIG5hbWVzIG9mIHJlc291cmNlcywgZGVmaW5lZCBpbiBzcGVjLnJlc291cmNlQ2xhaW1zLFxudGhhdCBhcmUgdXNlZCBieSB0aGlzIGNvbnRhaW5lci5cblxuVGhpcyBmaWVsZCBkZXBlbmRzIG9uIHRoZVxuRHluYW1pY1Jlc291cmNlQWxsb2NhdGlvbiBmZWF0dXJlIGdhdGUuXG5cblRoaXMgZmllbGQgaXMgaW1tdXRhYmxlLiBJdCBjYW4gb25seSBiZSBzZXQgZm9yIGNvbnRhaW5lcnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJSZXNvdXJjZUNsYWltIHJlZmVyZW5jZXMgb25lIGVudHJ5IGluIFBvZFNwZWMuUmVzb3VyY2VDbGFpbXMuIiwicHJvcGVydGllcyI6eyJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTmFtZSBtdXN0IG1hdGNoIHRoZSBuYW1lIG9mIG9uZSBlbnRyeSBpbiBwb2Quc3BlYy5yZXNvdXJjZUNsYWltcyBvZlxudGhlIFBvZCB3aGVyZSB0aGlzIGZpZWxkIGlzIHVzZWQuIEl0IG1ha2VzIHRoYXQgcmVzb3VyY2UgYXZhaWxhYmxlXG5pbnNpZGUgYSBjb250YWluZXIuIiwidHlwZSI6InN0cmluZyJ9LCJyZXF1ZXN0Ijp7ImRlc2NyaXB0aW9uIjoiUmVxdWVzdCBpcyB0aGUgbmFtZSBjaG9zZW4gZm9yIGEgcmVxdWVzdCBpbiB0aGUgcmVmZXJlbmNlZCBjbGFpbS5cbklmIGVtcHR5LCBldmVyeXRoaW5nIGZyb20gdGhlIGNsYWltIGlzIG1hZGUgYXZhaWxhYmxlLCBvdGhlcndpc2Vcbm9ubHkgdGhlIHJlc3VsdCBvZiB0aGlzIHJlcXVlc3QuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LW1hcC1rZXlzIjpbIm5hbWUiXSwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6Im1hcCJ9LCJsaW1pdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiTGltaXRzIGRlc2NyaWJlcyB0aGUgbWF4aW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgYWxsb3dlZC5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9LCJyZXF1ZXN0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0cyBkZXNjcmliZXMgdGhlIG1pbmltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIHJlcXVpcmVkLlxuSWYgUmVxdWVzdHMgaXMgb21pdHRlZCBmb3IgYSBjb250YWluZXIsIGl0IGRlZmF1bHRzIHRvIExpbWl0cyBpZiB0aGF0IGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLFxub3RoZXJ3aXNlIHRvIGFuIGltcGxlbWVudGF0aW9uLWRlZmluZWQgdmFsdWUuIFJlcXVlc3RzIGNhbm5vdCBleGNlZWQgTGltaXRzLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sImZpbGVBY3Rpdml0eU1vbml0b3JpbmciOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIEZpbGUgQWN0aXZpdHkgTW9uaXRvcmluZyBjb250YWluZXIsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBtb25pdG9yaW5nIGZpbGUgb3BlcmF0aW9ucyBvbiB0aGUgTm9kZS4iLCJwcm9wZXJ0aWVzIjp7Im1vZGUiOnsiZGVzY3JpcHRpb24iOiJTcGVjaWZpZXMgd2hldGhlciBGaWxlIEFjdGl2aXR5IE1vbml0b3JpbmcgaXMgZGVwbG95ZWQuXG5UaGUgZGVmYXVsdCBpczogRGlzYWJsZWQuIiwiZW51bSI6WyJFbmFibGVkIiwiRGlzYWJsZWQiXSwidHlwZSI6InN0cmluZyJ9LCJyZXNvdXJjZXMiOnsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsInByb3BlcnRpZXMiOnsiY2xhaW1zIjp7ImRlc2NyaXB0aW9uIjoiQ2xhaW1zIGxpc3RzIHRoZSBuYW1lcyBvZiByZXNvdXJjZXMsIGRlZmluZWQgaW4gc3BlYy5yZXNvdXJjZUNsYWltcyxcbnRoYXQgYXJlIHVzZWQgYnkgdGhpcyBjb250YWluZXIuXG5cblRoaXMgZmllbGQgZGVwZW5kcyBvbiB0aGVcbkR5bmFtaWNSZXNvdXJjZUFsbG9jYXRpb24gZmVhdHVyZSBnYXRlLlxuXG5UaGlzIGZpZWxkIGlzIGltbXV0YWJsZS4gSXQgY2FuIG9ubHkgYmUgc2V0IGZvciBjb250YWluZXJzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiUmVzb3VyY2VDbGFpbSByZWZlcmVuY2VzIG9uZSBlbnRyeSBpbiBQb2RTcGVjLlJlc291cmNlQ2xhaW1zLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik5hbWUgbXVzdCBtYXRjaCB0aGUgbmFtZSBvZiBvbmUgZW50cnkgaW4gcG9kLnNwZWMucmVzb3VyY2VDbGFpbXMgb2ZcbnRoZSBQb2Qgd2hlcmUgdGhpcyBmaWVsZCBpcyB1c2VkLiBJdCBtYWtlcyB0aGF0IHJlc291cmNlIGF2YWlsYWJsZVxuaW5zaWRlIGEgY29udGFpbmVyLiIsInR5cGUiOiJzdHJpbmcifSwicmVxdWVzdCI6eyJkZXNjcmlwdGlvbiI6IlJlcXVlc3QgaXMgdGhlIG5hbWUgY2hvc2VuIGZvciBhIHJlcXVlc3QgaW4gdGhlIHJlZmVyZW5jZWQgY2xhaW0uXG5JZiBlbXB0eSwgZXZlcnl0aGluZyBmcm9tIHRoZSBjbGFpbSBpcyBtYWRlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlXG5vbmx5IHRoZSByZXN1bHQgb2YgdGhpcyByZXF1ZXN0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC1tYXAta2V5cyI6WyJuYW1lIl0sIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJtYXAifSwibGltaXRzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IkxpbWl0cyBkZXNjcmliZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIGFsbG93ZWQuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifSwicmVxdWVzdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiUmVxdWVzdHMgZGVzY3JpYmVzIHRoZSBtaW5pbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyByZXF1aXJlZC5cbklmIFJlcXVlc3RzIGlzIG9taXR0ZWQgZm9yIGEgY29udGFpbmVyLCBpdCBkZWZhdWx0cyB0byBMaW1pdHMgaWYgdGhhdCBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCxcbm90aGVyd2lzZSB0byBhbiBpbXBsZW1lbnRhdGlvbi1kZWZpbmVkIHZhbHVlLiBSZXF1ZXN0cyBjYW5ub3QgZXhjZWVkIExpbWl0cy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJob3N0QWxpYXNlcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzIGhvbGRzIHRoZSBtYXBwaW5nIGJldHdlZW4gSVAgYW5kIGhvc3RuYW1lcyB0aGF0IHdpbGwgYmUgaW5qZWN0ZWQgYXMgYW4gZW50cnkgaW4gdGhlXG5wb2QncyBob3N0cyBmaWxlLiIsInByb3BlcnRpZXMiOnsiaG9zdG5hbWVzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdG5hbWVzIGZvciB0aGUgYWJvdmUgSVAgYWRkcmVzcy4iLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJhdG9taWMifSwiaXAiOnsiZGVzY3JpcHRpb24iOiJJUCBhZGRyZXNzIG9mIHRoZSBob3N0IGZpbGUgZW50cnkuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiaXAiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwibm9kZUludmVudG9yeSI6eyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIGZvciB0aGUgTm9kZS1JbnZlbnRvcnkgY29udGFpbmVyLCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3Igc2Nhbm5pbmcgdGhlIE5vZGVzJyBmaWxlc3lzdGVtLiIsInByb3BlcnRpZXMiOnsicmVzb3VyY2VzIjp7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJwcm9wZXJ0aWVzIjp7ImNsYWltcyI6eyJkZXNjcmlwdGlvbiI6IkNsYWltcyBsaXN0cyB0aGUgbmFtZXMgb2YgcmVzb3VyY2VzLCBkZWZpbmVkIGluIHNwZWMucmVzb3VyY2VDbGFpbXMsXG50aGF0IGFyZSB1c2VkIGJ5IHRoaXMgY29udGFpbmVyLlxuXG5UaGlzIGZpZWxkIGRlcGVuZHMgb24gdGhlXG5EeW5hbWljUmVzb3VyY2VBbGxvY2F0aW9uIGZlYXR1cmUgZ2F0ZS5cblxuVGhpcyBmaWVsZCBpcyBpbW11dGFibGUuIEl0IGNhbiBvbmx5IGJlIHNldCBmb3IgY29udGFpbmVycy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlQ2xhaW0gcmVmZXJlbmNlcyBvbmUgZW50cnkgaW4gUG9kU3BlYy5SZXNvdXJjZUNsYWltcy4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJOYW1lIG11c3QgbWF0Y2ggdGhlIG5hbWUgb2Ygb25lIGVudHJ5IGluIHBvZC5zcGVjLnJlc291cmNlQ2xhaW1zIG9mXG50aGUgUG9kIHdoZXJlIHRoaXMgZmllbGQgaXMgdXNlZC4gSXQgbWFrZXMgdGhhdCByZXNvdXJjZSBhdmFpbGFibGVcbmluc2lkZSBhIGNvbnRhaW5lci4iLCJ0eXBlIjoic3RyaW5nIn0sInJlcXVlc3QiOnsiZGVzY3JpcHRpb24iOiJSZXF1ZXN0IGlzIHRoZSBuYW1lIGNob3NlbiBmb3IgYSByZXF1ZXN0IGluIHRoZSByZWZlcmVuY2VkIGNsYWltLlxuSWYgZW1wdHksIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgY2xhaW0gaXMgbWFkZSBhdmFpbGFibGUsIG90aGVyd2lzZVxub25seSB0aGUgcmVzdWx0IG9mIHRoaXMgcmVxdWVzdC4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtbWFwLWtleXMiOlsibmFtZSJdLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoibWFwIn0sImxpbWl0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJMaW1pdHMgZGVzY3JpYmVzIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyBhbGxvd2VkLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In0sInJlcXVlc3RzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IlJlcXVlc3RzIGRlc2NyaWJlcyB0aGUgbWluaW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgcmVxdWlyZWQuXG5JZiBSZXF1ZXN0cyBpcyBvbWl0dGVkIGZvciBhIGNvbnRhaW5lciwgaXQgZGVmYXVsdHMgdG8gTGltaXRzIGlmIHRoYXQgaXMgZXhwbGljaXRseSBzcGVjaWZpZWQsXG5vdGhlcndpc2UgdG8gYW4gaW1wbGVtZW50YXRpb24tZGVmaW5lZCB2YWx1ZS4gUmVxdWVzdHMgY2Fubm90IGV4Y2VlZCBMaW1pdHMuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwidGFpbnRUb2xlcmF0aW9uIjp7ImRlc2NyaXB0aW9uIjoiVG8gZW5zdXJlIGNvbXByZWhlbnNpdmUgbW9uaXRvcmluZyBvZiB5b3VyIGNsdXN0ZXIgYWN0aXZpdHksIFJlZCBIYXQgQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eVxud2lsbCBydW4gc2VydmljZXMgb24gZXZlcnkgbm9kZSBpbiB0aGUgY2x1c3RlciwgaW5jbHVkaW5nIHRhaW50ZWQgbm9kZXMgYnkgZGVmYXVsdC4gSWYgeW91IGRvXG5ub3Qgd2FudCB0aGlzIGJlaGF2aW9yLCBwbGVhc2Ugc2VsZWN0ICdBdm9pZFRhaW50cycgaGVyZS5cblRoZSBkZWZhdWx0IGlzOiBUb2xlcmF0ZVRhaW50cy4iLCJlbnVtIjpbIlRvbGVyYXRlVGFpbnRzIiwiQXZvaWRUYWludHMiXSwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJwcm9jZXNzQmFzZWxpbmVzIjp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcmVsYXRpbmcgdG8gcHJvY2VzcyBiYXNlbGluZXMuIiwicHJvcGVydGllcyI6eyJhdXRvTG9jayI6eyJkZXNjcmlwdGlvbiI6IlNob3VsZCBwcm9jZXNzIGJhc2VsaW5lcyBiZSBhdXRvbWF0aWNhbGx5IGxvY2tlZCB3aGVuIHRoZSBvYnNlcnZhdGlvbiBwZXJpb2QgKDEgaG91ciBieSBkZWZhdWx0KSBlbmRzLlxuVGhlIGRlZmF1bHQgaXM6IERpc2FibGVkLiIsImVudW0iOlsiRW5hYmxlZCIsIkRpc2FibGVkIl0sInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwicmVnaXN0cnlPdmVycmlkZSI6eyJkZXNjcmlwdGlvbiI6IlNldCB0aGlzIHBhcmFtZXRlciB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCByZWdpc3RyeSBpbiBpbWFnZXMuIEZvciBleGFtcGxlLCBuZ2lueDpsYXRlc3QgLVx1MDAzZSBcdTAwM2NyZWdpc3RyeSBvdmVycmlkZVx1MDAzZS9saWJyYXJ5L25naW54OmxhdGVzdCIsInR5cGUiOiJzdHJpbmcifSwic2Nhbm5lciI6eyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIGZvciB0aGUgU2Nhbm5lciBjb21wb25lbnQsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciB2dWxuZXJhYmlsaXR5IHNjYW5uaW5nIG9mIGNvbnRhaW5lclxuaW1hZ2VzIHN0b3JlZCBpbiBhIGNsdXN0ZXItbG9jYWwgaW1hZ2UgcmVwb3NpdG9yeS4iLCJwcm9wZXJ0aWVzIjp7ImFuYWx5emVyIjp7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcGVydGFpbmluZyB0byB0aGUgYW5hbHl6ZXIgZGVwbG95bWVudCwgc3VjaCBhcyBmb3IgYXV0b3NjYWxpbmcuIiwicHJvcGVydGllcyI6eyJob3N0QWxpYXNlcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzIGhvbGRzIHRoZSBtYXBwaW5nIGJldHdlZW4gSVAgYW5kIGhvc3RuYW1lcyB0aGF0IHdpbGwgYmUgaW5qZWN0ZWQgYXMgYW4gZW50cnkgaW4gdGhlXG5wb2QncyBob3N0cyBmaWxlLiIsInByb3BlcnRpZXMiOnsiaG9zdG5hbWVzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdG5hbWVzIGZvciB0aGUgYWJvdmUgSVAgYWRkcmVzcy4iLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJhdG9taWMifSwiaXAiOnsiZGVzY3JpcHRpb24iOiJJUCBhZGRyZXNzIG9mIHRoZSBob3N0IGZpbGUgZW50cnkuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiaXAiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwibm9kZVNlbGVjdG9yIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwidHlwZSI6Im9iamVjdCJ9LCJyZXNvdXJjZXMiOnsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsInByb3BlcnRpZXMiOnsiY2xhaW1zIjp7ImRlc2NyaXB0aW9uIjoiQ2xhaW1zIGxpc3RzIHRoZSBuYW1lcyBvZiByZXNvdXJjZXMsIGRlZmluZWQgaW4gc3BlYy5yZXNvdXJjZUNsYWltcyxcbnRoYXQgYXJlIHVzZWQgYnkgdGhpcyBjb250YWluZXIuXG5cblRoaXMgZmllbGQgZGVwZW5kcyBvbiB0aGVcbkR5bmFtaWNSZXNvdXJjZUFsbG9jYXRpb24gZmVhdHVyZSBnYXRlLlxuXG5UaGlzIGZpZWxkIGlzIGltbXV0YWJsZS4gSXQgY2FuIG9ubHkgYmUgc2V0IGZvciBjb250YWluZXJzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiUmVzb3VyY2VDbGFpbSByZWZlcmVuY2VzIG9uZSBlbnRyeSBpbiBQb2RTcGVjLlJlc291cmNlQ2xhaW1zLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik5hbWUgbXVzdCBtYXRjaCB0aGUgbmFtZSBvZiBvbmUgZW50cnkgaW4gcG9kLnNwZWMucmVzb3VyY2VDbGFpbXMgb2ZcbnRoZSBQb2Qgd2hlcmUgdGhpcyBmaWVsZCBpcyB1c2VkLiBJdCBtYWtlcyB0aGF0IHJlc291cmNlIGF2YWlsYWJsZVxuaW5zaWRlIGEgY29udGFpbmVyLiIsInR5cGUiOiJzdHJpbmcifSwicmVxdWVzdCI6eyJkZXNjcmlwdGlvbiI6IlJlcXVlc3QgaXMgdGhlIG5hbWUgY2hvc2VuIGZvciBhIHJlcXVlc3QgaW4gdGhlIHJlZmVyZW5jZWQgY2xhaW0uXG5JZiBlbXB0eSwgZXZlcnl0aGluZyBmcm9tIHRoZSBjbGFpbSBpcyBtYWRlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlXG5vbmx5IHRoZSByZXN1bHQgb2YgdGhpcyByZXF1ZXN0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC1tYXAta2V5cyI6WyJuYW1lIl0sIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJtYXAifSwibGltaXRzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IkxpbWl0cyBkZXNjcmliZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIGFsbG93ZWQuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifSwicmVxdWVzdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiUmVxdWVzdHMgZGVzY3JpYmVzIHRoZSBtaW5pbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyByZXF1aXJlZC5cbklmIFJlcXVlc3RzIGlzIG9taXR0ZWQgZm9yIGEgY29udGFpbmVyLCBpdCBkZWZhdWx0cyB0byBMaW1pdHMgaWYgdGhhdCBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCxcbm90aGVyd2lzZSB0byBhbiBpbXBsZW1lbnRhdGlvbi1kZWZpbmVkIHZhbHVlLiBSZXF1ZXN0cyBjYW5ub3QgZXhjZWVkIExpbWl0cy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJzY2FsaW5nIjp7ImRlc2NyaXB0aW9uIjoiQ29udHJvbHMgdGhlIG51bWJlciBvZiBhbmFseXplciByZXBsaWNhcyBhbmQgYXV0b3NjYWxpbmcuIiwicHJvcGVydGllcyI6eyJhdXRvU2NhbGluZyI6eyJkZXNjcmlwdGlvbiI6IldoZW4gZW5hYmxlZCwgdGhlIG51bWJlciBvZiBjb21wb25lbnQgcmVwbGljYXMgaXMgbWFuYWdlZCBkeW5hbWljYWxseSBiYXNlZCBvbiB0aGUgbG9hZCwgd2l0aGluIHRoZSBsaW1pdHNcbnNwZWNpZmllZCBiZWxvdy5cblRoZSBkZWZhdWx0IGlzOiBFbmFibGVkLiIsImVudW0iOlsiRW5hYmxlZCIsIkRpc2FibGVkIl0sInR5cGUiOiJzdHJpbmcifSwibWF4UmVwbGljYXMiOnsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogNS4iLCJmb3JtYXQiOiJpbnQzMiIsIm1pbmltdW0iOjEsInR5cGUiOiJpbnRlZ2VyIn0sIm1pblJlcGxpY2FzIjp7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IDIuIiwiZm9ybWF0IjoiaW50MzIiLCJtaW5pbXVtIjoxLCJ0eXBlIjoiaW50ZWdlciJ9LCJyZXBsaWNhcyI6eyJkZXNjcmlwdGlvbiI6IldoZW4gYXV0b3NjYWxpbmcgaXMgZGlzYWJsZWQsIHRoZSBudW1iZXIgb2YgcmVwbGljYXMgd2lsbCBhbHdheXMgYmUgY29uZmlndXJlZCB0byBtYXRjaCB0aGlzIHZhbHVlLlxuVGhlIGRlZmF1bHQgaXM6IDMuIiwiZm9ybWF0IjoiaW50MzIiLCJtaW5pbXVtIjoxLCJ0eXBlIjoiaW50ZWdlciJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0b2xlcmF0aW9ucyI6eyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJUaGUgcG9kIHRoaXMgVG9sZXJhdGlvbiBpcyBhdHRhY2hlZCB0byB0b2xlcmF0ZXMgYW55IHRhaW50IHRoYXQgbWF0Y2hlc1xudGhlIHRyaXBsZSBcdTAwM2NrZXksdmFsdWUsZWZmZWN0XHUwMDNlIHVzaW5nIHRoZSBtYXRjaGluZyBvcGVyYXRvciBcdTAwM2NvcGVyYXRvclx1MDAzZS4iLCJwcm9wZXJ0aWVzIjp7ImVmZmVjdCI6eyJkZXNjcmlwdGlvbiI6IkVmZmVjdCBpbmRpY2F0ZXMgdGhlIHRhaW50IGVmZmVjdCB0byBtYXRjaC4gRW1wdHkgbWVhbnMgbWF0Y2ggYWxsIHRhaW50IGVmZmVjdHMuXG5XaGVuIHNwZWNpZmllZCwgYWxsb3dlZCB2YWx1ZXMgYXJlIE5vU2NoZWR1bGUsIFByZWZlck5vU2NoZWR1bGUgYW5kIE5vRXhlY3V0ZS4iLCJ0eXBlIjoic3RyaW5nIn0sImtleSI6eyJkZXNjcmlwdGlvbiI6IktleSBpcyB0aGUgdGFpbnQga2V5IHRoYXQgdGhlIHRvbGVyYXRpb24gYXBwbGllcyB0by4gRW1wdHkgbWVhbnMgbWF0Y2ggYWxsIHRhaW50IGtleXMuXG5JZiB0aGUga2V5IGlzIGVtcHR5LCBvcGVyYXRvciBtdXN0IGJlIEV4aXN0czsgdGhpcyBjb21iaW5hdGlvbiBtZWFucyB0byBtYXRjaCBhbGwgdmFsdWVzIGFuZCBhbGwga2V5cy4iLCJ0eXBlIjoic3RyaW5nIn0sIm9wZXJhdG9yIjp7ImRlc2NyaXB0aW9uIjoiT3BlcmF0b3IgcmVwcmVzZW50cyBhIGtleSdzIHJlbGF0aW9uc2hpcCB0byB0aGUgdmFsdWUuXG5WYWxpZCBvcGVyYXRvcnMgYXJlIEV4aXN0cywgRXF1YWwsIEx0LCBhbmQgR3QuIERlZmF1bHRzIHRvIEVxdWFsLlxuRXhpc3RzIGlzIGVxdWl2YWxlbnQgdG8gd2lsZGNhcmQgZm9yIHZhbHVlLCBzbyB0aGF0IGEgcG9kIGNhblxudG9sZXJhdGUgYWxsIHRhaW50cyBvZiBhIHBhcnRpY3VsYXIgY2F0ZWdvcnkuXG5MdCBhbmQgR3QgcGVyZm9ybSBudW1lcmljIGNvbXBhcmlzb25zIChyZXF1aXJlcyBmZWF0dXJlIGdhdGUgVGFpbnRUb2xlcmF0aW9uQ29tcGFyaXNvbk9wZXJhdG9ycykuIiwidHlwZSI6InN0cmluZyJ9LCJ0b2xlcmF0aW9uU2Vjb25kcyI6eyJkZXNjcmlwdGlvbiI6IlRvbGVyYXRpb25TZWNvbmRzIHJlcHJlc2VudHMgdGhlIHBlcmlvZCBvZiB0aW1lIHRoZSB0b2xlcmF0aW9uICh3aGljaCBtdXN0IGJlXG5vZiBlZmZlY3QgTm9FeGVjdXRlLCBvdGhlcndpc2UgdGhpcyBmaWVsZCBpcyBpZ25vcmVkKSB0b2xlcmF0ZXMgdGhlIHRhaW50LiBCeSBkZWZhdWx0LFxuaXQgaXMgbm90IHNldCwgd2hpY2ggbWVhbnMgdG9sZXJhdGUgdGhlIHRhaW50IGZvcmV2ZXIgKGRvIG5vdCBldmljdCkuIFplcm8gYW5kXG5uZWdhdGl2ZSB2YWx1ZXMgd2lsbCBiZSB0cmVhdGVkIGFzIDAgKGV2aWN0IGltbWVkaWF0ZWx5KSBieSB0aGUgc3lzdGVtLiIsImZvcm1hdCI6ImludDY0IiwidHlwZSI6ImludGVnZXIifSwidmFsdWUiOnsiZGVzY3JpcHRpb24iOiJWYWx1ZSBpcyB0aGUgdGFpbnQgdmFsdWUgdGhlIHRvbGVyYXRpb24gbWF0Y2hlcyB0by5cbklmIHRoZSBvcGVyYXRvciBpcyBFeGlzdHMsIHRoZSB2YWx1ZSBzaG91bGQgYmUgZW1wdHksIG90aGVyd2lzZSBqdXN0IGEgcmVndWxhciBzdHJpbmcuIiwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifX0sInR5cGUiOiJvYmplY3QifSwiZGIiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBwZXJ0YWluaW5nIHRvIHRoZSBkYXRhYmFzZSB1c2VkIGJ5IHRoZSBSZWQgSGF0IEFkdmFuY2VkIENsdXN0ZXIgU2VjdXJpdHkgU2Nhbm5lci4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RBbGlhc2VzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXMgaG9sZHMgdGhlIG1hcHBpbmcgYmV0d2VlbiBJUCBhbmQgaG9zdG5hbWVzIHRoYXQgd2lsbCBiZSBpbmplY3RlZCBhcyBhbiBlbnRyeSBpbiB0aGVcbnBvZCdzIGhvc3RzIGZpbGUuIiwicHJvcGVydGllcyI6eyJob3N0bmFtZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0bmFtZXMgZm9yIHRoZSBhYm92ZSBJUCBhZGRyZXNzLiIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6ImF0b21pYyJ9LCJpcCI6eyJkZXNjcmlwdGlvbiI6IklQIGFkZHJlc3Mgb2YgdGhlIGhvc3QgZmlsZSBlbnRyeS4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJpcCJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJub2RlU2VsZWN0b3IiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9LCJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSBhIG5vZGUgc2VsZWN0b3IgaGVyZS5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3Rvci4iLCJ0eXBlIjoib2JqZWN0In0sInJlc291cmNlcyI6eyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwicHJvcGVydGllcyI6eyJjbGFpbXMiOnsiZGVzY3JpcHRpb24iOiJDbGFpbXMgbGlzdHMgdGhlIG5hbWVzIG9mIHJlc291cmNlcywgZGVmaW5lZCBpbiBzcGVjLnJlc291cmNlQ2xhaW1zLFxudGhhdCBhcmUgdXNlZCBieSB0aGlzIGNvbnRhaW5lci5cblxuVGhpcyBmaWVsZCBkZXBlbmRzIG9uIHRoZVxuRHluYW1pY1Jlc291cmNlQWxsb2NhdGlvbiBmZWF0dXJlIGdhdGUuXG5cblRoaXMgZmllbGQgaXMgaW1tdXRhYmxlLiBJdCBjYW4gb25seSBiZSBzZXQgZm9yIGNvbnRhaW5lcnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJSZXNvdXJjZUNsYWltIHJlZmVyZW5jZXMgb25lIGVudHJ5IGluIFBvZFNwZWMuUmVzb3VyY2VDbGFpbXMuIiwicHJvcGVydGllcyI6eyJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTmFtZSBtdXN0IG1hdGNoIHRoZSBuYW1lIG9mIG9uZSBlbnRyeSBpbiBwb2Quc3BlYy5yZXNvdXJjZUNsYWltcyBvZlxudGhlIFBvZCB3aGVyZSB0aGlzIGZpZWxkIGlzIHVzZWQuIEl0IG1ha2VzIHRoYXQgcmVzb3VyY2UgYXZhaWxhYmxlXG5pbnNpZGUgYSBjb250YWluZXIuIiwidHlwZSI6InN0cmluZyJ9LCJyZXF1ZXN0Ijp7ImRlc2NyaXB0aW9uIjoiUmVxdWVzdCBpcyB0aGUgbmFtZSBjaG9zZW4gZm9yIGEgcmVxdWVzdCBpbiB0aGUgcmVmZXJlbmNlZCBjbGFpbS5cbklmIGVtcHR5LCBldmVyeXRoaW5nIGZyb20gdGhlIGNsYWltIGlzIG1hZGUgYXZhaWxhYmxlLCBvdGhlcndpc2Vcbm9ubHkgdGhlIHJlc3VsdCBvZiB0aGlzIHJlcXVlc3QuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LW1hcC1rZXlzIjpbIm5hbWUiXSwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6Im1hcCJ9LCJsaW1pdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiTGltaXRzIGRlc2NyaWJlcyB0aGUgbWF4aW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgYWxsb3dlZC5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9LCJyZXF1ZXN0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0cyBkZXNjcmliZXMgdGhlIG1pbmltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIHJlcXVpcmVkLlxuSWYgUmVxdWVzdHMgaXMgb21pdHRlZCBmb3IgYSBjb250YWluZXIsIGl0IGRlZmF1bHRzIHRvIExpbWl0cyBpZiB0aGF0IGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLFxub3RoZXJ3aXNlIHRvIGFuIGltcGxlbWVudGF0aW9uLWRlZmluZWQgdmFsdWUuIFJlcXVlc3RzIGNhbm5vdCBleGNlZWQgTGltaXRzLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sInRvbGVyYXRpb25zIjp7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBwb2QgdGhpcyBUb2xlcmF0aW9uIGlzIGF0dGFjaGVkIHRvIHRvbGVyYXRlcyBhbnkgdGFpbnQgdGhhdCBtYXRjaGVzXG50aGUgdHJpcGxlIFx1MDAzY2tleSx2YWx1ZSxlZmZlY3RcdTAwM2UgdXNpbmcgdGhlIG1hdGNoaW5nIG9wZXJhdG9yIFx1MDAzY29wZXJhdG9yXHUwMDNlLiIsInByb3BlcnRpZXMiOnsiZWZmZWN0Ijp7ImRlc2NyaXB0aW9uIjoiRWZmZWN0IGluZGljYXRlcyB0aGUgdGFpbnQgZWZmZWN0IHRvIG1hdGNoLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQgZWZmZWN0cy5cbldoZW4gc3BlY2lmaWVkLCBhbGxvd2VkIHZhbHVlcyBhcmUgTm9TY2hlZHVsZSwgUHJlZmVyTm9TY2hlZHVsZSBhbmQgTm9FeGVjdXRlLiIsInR5cGUiOiJzdHJpbmcifSwia2V5Ijp7ImRlc2NyaXB0aW9uIjoiS2V5IGlzIHRoZSB0YWludCBrZXkgdGhhdCB0aGUgdG9sZXJhdGlvbiBhcHBsaWVzIHRvLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQga2V5cy5cbklmIHRoZSBrZXkgaXMgZW1wdHksIG9wZXJhdG9yIG11c3QgYmUgRXhpc3RzOyB0aGlzIGNvbWJpbmF0aW9uIG1lYW5zIHRvIG1hdGNoIGFsbCB2YWx1ZXMgYW5kIGFsbCBrZXlzLiIsInR5cGUiOiJzdHJpbmcifSwib3BlcmF0b3IiOnsiZGVzY3JpcHRpb24iOiJPcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIHRoZSB2YWx1ZS5cblZhbGlkIG9wZXJhdG9ycyBhcmUgRXhpc3RzLCBFcXVhbCwgTHQsIGFuZCBHdC4gRGVmYXVsdHMgdG8gRXF1YWwuXG5FeGlzdHMgaXMgZXF1aXZhbGVudCB0byB3aWxkY2FyZCBmb3IgdmFsdWUsIHNvIHRoYXQgYSBwb2QgY2FuXG50b2xlcmF0ZSBhbGwgdGFpbnRzIG9mIGEgcGFydGljdWxhciBjYXRlZ29yeS5cbkx0IGFuZCBHdCBwZXJmb3JtIG51bWVyaWMgY29tcGFyaXNvbnMgKHJlcXVpcmVzIGZlYXR1cmUgZ2F0ZSBUYWludFRvbGVyYXRpb25Db21wYXJpc29uT3BlcmF0b3JzKS4iLCJ0eXBlIjoic3RyaW5nIn0sInRvbGVyYXRpb25TZWNvbmRzIjp7ImRlc2NyaXB0aW9uIjoiVG9sZXJhdGlvblNlY29uZHMgcmVwcmVzZW50cyB0aGUgcGVyaW9kIG9mIHRpbWUgdGhlIHRvbGVyYXRpb24gKHdoaWNoIG11c3QgYmVcbm9mIGVmZmVjdCBOb0V4ZWN1dGUsIG90aGVyd2lzZSB0aGlzIGZpZWxkIGlzIGlnbm9yZWQpIHRvbGVyYXRlcyB0aGUgdGFpbnQuIEJ5IGRlZmF1bHQsXG5pdCBpcyBub3Qgc2V0LCB3aGljaCBtZWFucyB0b2xlcmF0ZSB0aGUgdGFpbnQgZm9yZXZlciAoZG8gbm90IGV2aWN0KS4gWmVybyBhbmRcbm5lZ2F0aXZlIHZhbHVlcyB3aWxsIGJlIHRyZWF0ZWQgYXMgMCAoZXZpY3QgaW1tZWRpYXRlbHkpIGJ5IHRoZSBzeXN0ZW0uIiwiZm9ybWF0IjoiaW50NjQiLCJ0eXBlIjoiaW50ZWdlciJ9LCJ2YWx1ZSI6eyJkZXNjcmlwdGlvbiI6IlZhbHVlIGlzIHRoZSB0YWludCB2YWx1ZSB0aGUgdG9sZXJhdGlvbiBtYXRjaGVzIHRvLlxuSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cywgdGhlIHZhbHVlIHNob3VsZCBiZSBlbXB0eSwgb3RoZXJ3aXNlIGp1c3QgYSByZWd1bGFyIHN0cmluZy4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9fSwidHlwZSI6Im9iamVjdCJ9LCJzY2FubmVyQ29tcG9uZW50Ijp7ImRlc2NyaXB0aW9uIjoiSWYgeW91IGRvIG5vdCB3YW50IHRvIGRlcGxveSB0aGUgUmVkIEhhdCBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5IFNjYW5uZXIsIHlvdSBjYW4gZGlzYWJsZSBpdCBoZXJlXG4obm90IHJlY29tbWVuZGVkKS5cbklmIHlvdSBkbyBzbywgYWxsIHRoZSBzZXR0aW5ncyBpbiB0aGlzIHNlY3Rpb24gd2lsbCBoYXZlIG5vIGVmZmVjdC5cblRoZSBkZWZhdWx0IGlzOiBBdXRvU2Vuc2UuIiwiZW51bSI6WyJBdXRvU2Vuc2UiLCJEaXNhYmxlZCJdLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInNjYW5uZXJWNCI6eyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIGZvciB0aGUgU2Nhbm5lciBWNCBjb21wb25lbnRzLCB3aGljaCBjYW4gcnVuIGluIGFkZGl0aW9uIHRvIHRoZSBwcmV2aW91c2x5IGV4aXN0aW5nIFNjYW5uZXIgY29tcG9uZW50cyIsInByb3BlcnRpZXMiOnsiZGIiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBwZXJ0YWluaW5nIHRvIHRoZSBEQiBkZXBsb3ltZW50LiIsInByb3BlcnRpZXMiOnsiaG9zdEFsaWFzZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhcyBob2xkcyB0aGUgbWFwcGluZyBiZXR3ZWVuIElQIGFuZCBob3N0bmFtZXMgdGhhdCB3aWxsIGJlIGluamVjdGVkIGFzIGFuIGVudHJ5IGluIHRoZVxucG9kJ3MgaG9zdHMgZmlsZS4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RuYW1lcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RuYW1lcyBmb3IgdGhlIGFib3ZlIElQIGFkZHJlc3MuIiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoiYXRvbWljIn0sImlwIjp7ImRlc2NyaXB0aW9uIjoiSVAgYWRkcmVzcyBvZiB0aGUgaG9zdCBmaWxlIGVudHJ5LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbImlwIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In0sIm5vZGVTZWxlY3RvciI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn0sImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsInR5cGUiOiJvYmplY3QifSwicGVyc2lzdGVuY2UiOnsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIGhvdyBTY2FubmVyIFY0IHNob3VsZCBzdG9yZSBpdHMgcGVyc2lzdGVudCBkYXRhLlxuWW91IGNhbiB1c2UgYSBwZXJzaXN0ZW50IHZvbHVtZSBjbGFpbSAodGhlIHJlY29tbWVuZGVkIGRlZmF1bHQpLCBhIGhvc3QgcGF0aCxcbm9yIGFuIGVtcHR5RGlyIHZvbHVtZSBpZiBTY2FubmVyIFY0IGlzIHJ1bm5pbmcgb24gYSBzZWN1cmVkIGNsdXN0ZXIgd2l0aG91dCBkZWZhdWx0IFN0b3JhZ2VDbGFzcy4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RQYXRoIjp7ImRlc2NyaXB0aW9uIjoiU3RvcmVzIHBlcnNpc3RlbnQgZGF0YSBpbiBhIGRpcmVjdG9yeSBvbiB0aGUgaG9zdC4gVGhpcyBpcyBub3QgcmVjb21tZW5kZWQsIGFuZCBzaG91bGQgb25seVxuYmUgdXNlZCB0b2dldGhlciB3aXRoIGEgbm9kZSBzZWxlY3RvciAob25seSBhdmFpbGFibGUgaW4gWUFNTCB2aWV3KS4iLCJwcm9wZXJ0aWVzIjp7InBhdGgiOnsiZGVzY3JpcHRpb24iOiJUaGUgcGF0aCBvbiB0aGUgaG9zdCBydW5uaW5nIENlbnRyYWwuIiwidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJwZXJzaXN0ZW50Vm9sdW1lQ2xhaW0iOnsiZGVzY3JpcHRpb24iOiJVc2VzIGEgS3ViZXJuZXRlcyBwZXJzaXN0ZW50IHZvbHVtZSBjbGFpbSAoUFZDKSB0byBtYW5hZ2UgdGhlIHN0b3JhZ2UgbG9jYXRpb24gb2YgcGVyc2lzdGVudCBkYXRhLlxuUmVjb21tZW5kZWQgZm9yIG1vc3QgdXNlcnMuIiwicHJvcGVydGllcyI6eyJjbGFpbU5hbWUiOnsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgUFZDIHRvIG1hbmFnZSBwZXJzaXN0ZW50IGRhdGEuIElmIG5vIFBWQyB3aXRoIHRoZSBnaXZlbiBuYW1lIGV4aXN0cywgaXQgd2lsbCBiZVxuY3JlYXRlZC5cblRoZSBkZWZhdWx0IGlzOiBzY2FubmVyLXY0LWRiLiIsInR5cGUiOiJzdHJpbmcifSwic2l6ZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBzaXplIG9mIHRoZSBwZXJzaXN0ZW50IHZvbHVtZSB3aGVuIGNyZWF0ZWQgdGhyb3VnaCB0aGUgY2xhaW0uIElmIGEgY2xhaW0gd2FzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCxcbnRoaXMgY2FuIGJlIHVzZWQgYWZ0ZXIgdGhlIGluaXRpYWwgZGVwbG95bWVudCB0byByZXNpemUgKGdyb3cpIHRoZSB2b2x1bWUgKG9ubHkgc3VwcG9ydGVkIGJ5IHNvbWVcbnN0b3JhZ2UgY2xhc3MgY29udHJvbGxlcnMpLiIsInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsInR5cGUiOiJzdHJpbmcifSwic3RvcmFnZUNsYXNzTmFtZSI6eyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSBzdG9yYWdlIGNsYXNzIHRvIHVzZSBmb3IgdGhlIFBWQy4gSWYgeW91ciBjbHVzdGVyIGlzIG5vdCBjb25maWd1cmVkIHdpdGggYSBkZWZhdWx0IHN0b3JhZ2VcbmNsYXNzLCB5b3UgbXVzdCBzZWxlY3QgYSB2YWx1ZSBoZXJlLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwicmVzb3VyY2VzIjp7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJwcm9wZXJ0aWVzIjp7ImNsYWltcyI6eyJkZXNjcmlwdGlvbiI6IkNsYWltcyBsaXN0cyB0aGUgbmFtZXMgb2YgcmVzb3VyY2VzLCBkZWZpbmVkIGluIHNwZWMucmVzb3VyY2VDbGFpbXMsXG50aGF0IGFyZSB1c2VkIGJ5IHRoaXMgY29udGFpbmVyLlxuXG5UaGlzIGZpZWxkIGRlcGVuZHMgb24gdGhlXG5EeW5hbWljUmVzb3VyY2VBbGxvY2F0aW9uIGZlYXR1cmUgZ2F0ZS5cblxuVGhpcyBmaWVsZCBpcyBpbW11dGFibGUuIEl0IGNhbiBvbmx5IGJlIHNldCBmb3IgY29udGFpbmVycy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlJlc291cmNlQ2xhaW0gcmVmZXJlbmNlcyBvbmUgZW50cnkgaW4gUG9kU3BlYy5SZXNvdXJjZUNsYWltcy4iLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsiZGVzY3JpcHRpb24iOiJOYW1lIG11c3QgbWF0Y2ggdGhlIG5hbWUgb2Ygb25lIGVudHJ5IGluIHBvZC5zcGVjLnJlc291cmNlQ2xhaW1zIG9mXG50aGUgUG9kIHdoZXJlIHRoaXMgZmllbGQgaXMgdXNlZC4gSXQgbWFrZXMgdGhhdCByZXNvdXJjZSBhdmFpbGFibGVcbmluc2lkZSBhIGNvbnRhaW5lci4iLCJ0eXBlIjoic3RyaW5nIn0sInJlcXVlc3QiOnsiZGVzY3JpcHRpb24iOiJSZXF1ZXN0IGlzIHRoZSBuYW1lIGNob3NlbiBmb3IgYSByZXF1ZXN0IGluIHRoZSByZWZlcmVuY2VkIGNsYWltLlxuSWYgZW1wdHksIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgY2xhaW0gaXMgbWFkZSBhdmFpbGFibGUsIG90aGVyd2lzZVxub25seSB0aGUgcmVzdWx0IG9mIHRoaXMgcmVxdWVzdC4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJuYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtbWFwLWtleXMiOlsibmFtZSJdLCJ4LWt1YmVybmV0ZXMtbGlzdC10eXBlIjoibWFwIn0sImxpbWl0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJMaW1pdHMgZGVzY3JpYmVzIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyBhbGxvd2VkLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In0sInJlcXVlc3RzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IlJlcXVlc3RzIGRlc2NyaWJlcyB0aGUgbWluaW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgcmVxdWlyZWQuXG5JZiBSZXF1ZXN0cyBpcyBvbWl0dGVkIGZvciBhIGNvbnRhaW5lciwgaXQgZGVmYXVsdHMgdG8gTGltaXRzIGlmIHRoYXQgaXMgZXhwbGljaXRseSBzcGVjaWZpZWQsXG5vdGhlcndpc2UgdG8gYW4gaW1wbGVtZW50YXRpb24tZGVmaW5lZCB2YWx1ZS4gUmVxdWVzdHMgY2Fubm90IGV4Y2VlZCBMaW1pdHMuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwidG9sZXJhdGlvbnMiOnsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHBvZCB0aGlzIFRvbGVyYXRpb24gaXMgYXR0YWNoZWQgdG8gdG9sZXJhdGVzIGFueSB0YWludCB0aGF0IG1hdGNoZXNcbnRoZSB0cmlwbGUgXHUwMDNja2V5LHZhbHVlLGVmZmVjdFx1MDAzZSB1c2luZyB0aGUgbWF0Y2hpbmcgb3BlcmF0b3IgXHUwMDNjb3BlcmF0b3JcdTAwM2UuIiwicHJvcGVydGllcyI6eyJlZmZlY3QiOnsiZGVzY3JpcHRpb24iOiJFZmZlY3QgaW5kaWNhdGVzIHRoZSB0YWludCBlZmZlY3QgdG8gbWF0Y2guIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBlZmZlY3RzLlxuV2hlbiBzcGVjaWZpZWQsIGFsbG93ZWQgdmFsdWVzIGFyZSBOb1NjaGVkdWxlLCBQcmVmZXJOb1NjaGVkdWxlIGFuZCBOb0V4ZWN1dGUuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJLZXkgaXMgdGhlIHRhaW50IGtleSB0aGF0IHRoZSB0b2xlcmF0aW9uIGFwcGxpZXMgdG8uIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBrZXlzLlxuSWYgdGhlIGtleSBpcyBlbXB0eSwgb3BlcmF0b3IgbXVzdCBiZSBFeGlzdHM7IHRoaXMgY29tYmluYXRpb24gbWVhbnMgdG8gbWF0Y2ggYWxsIHZhbHVlcyBhbmQgYWxsIGtleXMuIiwidHlwZSI6InN0cmluZyJ9LCJvcGVyYXRvciI6eyJkZXNjcmlwdGlvbiI6Ik9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gdGhlIHZhbHVlLlxuVmFsaWQgb3BlcmF0b3JzIGFyZSBFeGlzdHMsIEVxdWFsLCBMdCwgYW5kIEd0LiBEZWZhdWx0cyB0byBFcXVhbC5cbkV4aXN0cyBpcyBlcXVpdmFsZW50IHRvIHdpbGRjYXJkIGZvciB2YWx1ZSwgc28gdGhhdCBhIHBvZCBjYW5cbnRvbGVyYXRlIGFsbCB0YWludHMgb2YgYSBwYXJ0aWN1bGFyIGNhdGVnb3J5LlxuTHQgYW5kIEd0IHBlcmZvcm0gbnVtZXJpYyBjb21wYXJpc29ucyAocmVxdWlyZXMgZmVhdHVyZSBnYXRlIFRhaW50VG9sZXJhdGlvbkNvbXBhcmlzb25PcGVyYXRvcnMpLiIsInR5cGUiOiJzdHJpbmcifSwidG9sZXJhdGlvblNlY29uZHMiOnsiZGVzY3JpcHRpb24iOiJUb2xlcmF0aW9uU2Vjb25kcyByZXByZXNlbnRzIHRoZSBwZXJpb2Qgb2YgdGltZSB0aGUgdG9sZXJhdGlvbiAod2hpY2ggbXVzdCBiZVxub2YgZWZmZWN0IE5vRXhlY3V0ZSwgb3RoZXJ3aXNlIHRoaXMgZmllbGQgaXMgaWdub3JlZCkgdG9sZXJhdGVzIHRoZSB0YWludC4gQnkgZGVmYXVsdCxcbml0IGlzIG5vdCBzZXQsIHdoaWNoIG1lYW5zIHRvbGVyYXRlIHRoZSB0YWludCBmb3JldmVyIChkbyBub3QgZXZpY3QpLiBaZXJvIGFuZFxubmVnYXRpdmUgdmFsdWVzIHdpbGwgYmUgdHJlYXRlZCBhcyAwIChldmljdCBpbW1lZGlhdGVseSkgYnkgdGhlIHN5c3RlbS4iLCJmb3JtYXQiOiJpbnQ2NCIsInR5cGUiOiJpbnRlZ2VyIn0sInZhbHVlIjp7ImRlc2NyaXB0aW9uIjoiVmFsdWUgaXMgdGhlIHRhaW50IHZhbHVlIHRoZSB0b2xlcmF0aW9uIG1hdGNoZXMgdG8uXG5JZiB0aGUgb3BlcmF0b3IgaXMgRXhpc3RzLCB0aGUgdmFsdWUgc2hvdWxkIGJlIGVtcHR5LCBvdGhlcndpc2UganVzdCBhIHJlZ3VsYXIgc3RyaW5nLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sImluZGV4ZXIiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBwZXJ0YWluaW5nIHRvIHRoZSBpbmRleGVyIGRlcGxveW1lbnQuIiwicHJvcGVydGllcyI6eyJob3N0QWxpYXNlcyI6eyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzIGhvbGRzIHRoZSBtYXBwaW5nIGJldHdlZW4gSVAgYW5kIGhvc3RuYW1lcyB0aGF0IHdpbGwgYmUgaW5qZWN0ZWQgYXMgYW4gZW50cnkgaW4gdGhlXG5wb2QncyBob3N0cyBmaWxlLiIsInByb3BlcnRpZXMiOnsiaG9zdG5hbWVzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdG5hbWVzIGZvciB0aGUgYWJvdmUgSVAgYWRkcmVzcy4iLCJpdGVtcyI6eyJ0eXBlIjoic3RyaW5nIn0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJhdG9taWMifSwiaXAiOnsiZGVzY3JpcHRpb24iOiJJUCBhZGRyZXNzIG9mIHRoZSBob3N0IGZpbGUgZW50cnkuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiaXAiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwibm9kZVNlbGVjdG9yIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifSwiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwidHlwZSI6Im9iamVjdCJ9LCJyZXNvdXJjZXMiOnsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsInByb3BlcnRpZXMiOnsiY2xhaW1zIjp7ImRlc2NyaXB0aW9uIjoiQ2xhaW1zIGxpc3RzIHRoZSBuYW1lcyBvZiByZXNvdXJjZXMsIGRlZmluZWQgaW4gc3BlYy5yZXNvdXJjZUNsYWltcyxcbnRoYXQgYXJlIHVzZWQgYnkgdGhpcyBjb250YWluZXIuXG5cblRoaXMgZmllbGQgZGVwZW5kcyBvbiB0aGVcbkR5bmFtaWNSZXNvdXJjZUFsbG9jYXRpb24gZmVhdHVyZSBnYXRlLlxuXG5UaGlzIGZpZWxkIGlzIGltbXV0YWJsZS4gSXQgY2FuIG9ubHkgYmUgc2V0IGZvciBjb250YWluZXJzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiUmVzb3VyY2VDbGFpbSByZWZlcmVuY2VzIG9uZSBlbnRyeSBpbiBQb2RTcGVjLlJlc291cmNlQ2xhaW1zLiIsInByb3BlcnRpZXMiOnsibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik5hbWUgbXVzdCBtYXRjaCB0aGUgbmFtZSBvZiBvbmUgZW50cnkgaW4gcG9kLnNwZWMucmVzb3VyY2VDbGFpbXMgb2ZcbnRoZSBQb2Qgd2hlcmUgdGhpcyBmaWVsZCBpcyB1c2VkLiBJdCBtYWtlcyB0aGF0IHJlc291cmNlIGF2YWlsYWJsZVxuaW5zaWRlIGEgY29udGFpbmVyLiIsInR5cGUiOiJzdHJpbmcifSwicmVxdWVzdCI6eyJkZXNjcmlwdGlvbiI6IlJlcXVlc3QgaXMgdGhlIG5hbWUgY2hvc2VuIGZvciBhIHJlcXVlc3QgaW4gdGhlIHJlZmVyZW5jZWQgY2xhaW0uXG5JZiBlbXB0eSwgZXZlcnl0aGluZyBmcm9tIHRoZSBjbGFpbSBpcyBtYWRlIGF2YWlsYWJsZSwgb3RoZXJ3aXNlXG5vbmx5IHRoZSByZXN1bHQgb2YgdGhpcyByZXF1ZXN0LiIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkiLCJ4LWt1YmVybmV0ZXMtbGlzdC1tYXAta2V5cyI6WyJuYW1lIl0sIngta3ViZXJuZXRlcy1saXN0LXR5cGUiOiJtYXAifSwibGltaXRzIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7ImFueU9mIjpbeyJ0eXBlIjoiaW50ZWdlciJ9LHsidHlwZSI6InN0cmluZyJ9XSwicGF0dGVybiI6Il4oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkoKFtLTUdUUEVdaSl8W251bWtNR1RQRV18KFtlRV0oXFwrfC0pPygoWzAtOV0rKFxcLlswLTldKik/KXwoXFwuWzAtOV0rKSkpKT8kIiwieC1rdWJlcm5ldGVzLWludC1vci1zdHJpbmciOnRydWV9LCJkZXNjcmlwdGlvbiI6IkxpbWl0cyBkZXNjcmliZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIGFsbG93ZWQuXG5Nb3JlIGluZm86IGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL2NvbmZpZ3VyYXRpb24vbWFuYWdlLXJlc291cmNlcy1jb250YWluZXJzLyIsInR5cGUiOiJvYmplY3QifSwicmVxdWVzdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiUmVxdWVzdHMgZGVzY3JpYmVzIHRoZSBtaW5pbXVtIGFtb3VudCBvZiBjb21wdXRlIHJlc291cmNlcyByZXF1aXJlZC5cbklmIFJlcXVlc3RzIGlzIG9taXR0ZWQgZm9yIGEgY29udGFpbmVyLCBpdCBkZWZhdWx0cyB0byBMaW1pdHMgaWYgdGhhdCBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCxcbm90aGVyd2lzZSB0byBhbiBpbXBsZW1lbnRhdGlvbi1kZWZpbmVkIHZhbHVlLiBSZXF1ZXN0cyBjYW5ub3QgZXhjZWVkIExpbWl0cy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9fSwidHlwZSI6Im9iamVjdCJ9LCJzY2FsaW5nIjp7ImRlc2NyaXB0aW9uIjoiQ29udHJvbHMgdGhlIG51bWJlciBvZiByZXBsaWNhcyBhbmQgYXV0b3NjYWxpbmcgZm9yIHRoaXMgY29tcG9uZW50LiIsInByb3BlcnRpZXMiOnsiYXV0b1NjYWxpbmciOnsiZGVzY3JpcHRpb24iOiJXaGVuIGVuYWJsZWQsIHRoZSBudW1iZXIgb2YgY29tcG9uZW50IHJlcGxpY2FzIGlzIG1hbmFnZWQgZHluYW1pY2FsbHkgYmFzZWQgb24gdGhlIGxvYWQsIHdpdGhpbiB0aGUgbGltaXRzXG5zcGVjaWZpZWQgYmVsb3cuXG5UaGUgZGVmYXVsdCBpczogRW5hYmxlZC4iLCJlbnVtIjpbIkVuYWJsZWQiLCJEaXNhYmxlZCJdLCJ0eXBlIjoic3RyaW5nIn0sIm1heFJlcGxpY2FzIjp7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IDUuIiwiZm9ybWF0IjoiaW50MzIiLCJtaW5pbXVtIjoxLCJ0eXBlIjoiaW50ZWdlciJ9LCJtaW5SZXBsaWNhcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBkZWZhdWx0IGlzOiAyLiIsImZvcm1hdCI6ImludDMyIiwibWluaW11bSI6MSwidHlwZSI6ImludGVnZXIifSwicmVwbGljYXMiOnsiZGVzY3JpcHRpb24iOiJXaGVuIGF1dG9zY2FsaW5nIGlzIGRpc2FibGVkLCB0aGUgbnVtYmVyIG9mIHJlcGxpY2FzIHdpbGwgYWx3YXlzIGJlIGNvbmZpZ3VyZWQgdG8gbWF0Y2ggdGhpcyB2YWx1ZS5cblRoZSBkZWZhdWx0IGlzOiAzLiIsImZvcm1hdCI6ImludDMyIiwibWluaW11bSI6MSwidHlwZSI6ImludGVnZXIifX0sInR5cGUiOiJvYmplY3QifSwidG9sZXJhdGlvbnMiOnsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiVGhlIHBvZCB0aGlzIFRvbGVyYXRpb24gaXMgYXR0YWNoZWQgdG8gdG9sZXJhdGVzIGFueSB0YWludCB0aGF0IG1hdGNoZXNcbnRoZSB0cmlwbGUgXHUwMDNja2V5LHZhbHVlLGVmZmVjdFx1MDAzZSB1c2luZyB0aGUgbWF0Y2hpbmcgb3BlcmF0b3IgXHUwMDNjb3BlcmF0b3JcdTAwM2UuIiwicHJvcGVydGllcyI6eyJlZmZlY3QiOnsiZGVzY3JpcHRpb24iOiJFZmZlY3QgaW5kaWNhdGVzIHRoZSB0YWludCBlZmZlY3QgdG8gbWF0Y2guIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBlZmZlY3RzLlxuV2hlbiBzcGVjaWZpZWQsIGFsbG93ZWQgdmFsdWVzIGFyZSBOb1NjaGVkdWxlLCBQcmVmZXJOb1NjaGVkdWxlIGFuZCBOb0V4ZWN1dGUuIiwidHlwZSI6InN0cmluZyJ9LCJrZXkiOnsiZGVzY3JpcHRpb24iOiJLZXkgaXMgdGhlIHRhaW50IGtleSB0aGF0IHRoZSB0b2xlcmF0aW9uIGFwcGxpZXMgdG8uIEVtcHR5IG1lYW5zIG1hdGNoIGFsbCB0YWludCBrZXlzLlxuSWYgdGhlIGtleSBpcyBlbXB0eSwgb3BlcmF0b3IgbXVzdCBiZSBFeGlzdHM7IHRoaXMgY29tYmluYXRpb24gbWVhbnMgdG8gbWF0Y2ggYWxsIHZhbHVlcyBhbmQgYWxsIGtleXMuIiwidHlwZSI6InN0cmluZyJ9LCJvcGVyYXRvciI6eyJkZXNjcmlwdGlvbiI6Ik9wZXJhdG9yIHJlcHJlc2VudHMgYSBrZXkncyByZWxhdGlvbnNoaXAgdG8gdGhlIHZhbHVlLlxuVmFsaWQgb3BlcmF0b3JzIGFyZSBFeGlzdHMsIEVxdWFsLCBMdCwgYW5kIEd0LiBEZWZhdWx0cyB0byBFcXVhbC5cbkV4aXN0cyBpcyBlcXVpdmFsZW50IHRvIHdpbGRjYXJkIGZvciB2YWx1ZSwgc28gdGhhdCBhIHBvZCBjYW5cbnRvbGVyYXRlIGFsbCB0YWludHMgb2YgYSBwYXJ0aWN1bGFyIGNhdGVnb3J5LlxuTHQgYW5kIEd0IHBlcmZvcm0gbnVtZXJpYyBjb21wYXJpc29ucyAocmVxdWlyZXMgZmVhdHVyZSBnYXRlIFRhaW50VG9sZXJhdGlvbkNvbXBhcmlzb25PcGVyYXRvcnMpLiIsInR5cGUiOiJzdHJpbmcifSwidG9sZXJhdGlvblNlY29uZHMiOnsiZGVzY3JpcHRpb24iOiJUb2xlcmF0aW9uU2Vjb25kcyByZXByZXNlbnRzIHRoZSBwZXJpb2Qgb2YgdGltZSB0aGUgdG9sZXJhdGlvbiAod2hpY2ggbXVzdCBiZVxub2YgZWZmZWN0IE5vRXhlY3V0ZSwgb3RoZXJ3aXNlIHRoaXMgZmllbGQgaXMgaWdub3JlZCkgdG9sZXJhdGVzIHRoZSB0YWludC4gQnkgZGVmYXVsdCxcbml0IGlzIG5vdCBzZXQsIHdoaWNoIG1lYW5zIHRvbGVyYXRlIHRoZSB0YWludCBmb3JldmVyIChkbyBub3QgZXZpY3QpLiBaZXJvIGFuZFxubmVnYXRpdmUgdmFsdWVzIHdpbGwgYmUgdHJlYXRlZCBhcyAwIChldmljdCBpbW1lZGlhdGVseSkgYnkgdGhlIHN5c3RlbS4iLCJmb3JtYXQiOiJpbnQ2NCIsInR5cGUiOiJpbnRlZ2VyIn0sInZhbHVlIjp7ImRlc2NyaXB0aW9uIjoiVmFsdWUgaXMgdGhlIHRhaW50IHZhbHVlIHRoZSB0b2xlcmF0aW9uIG1hdGNoZXMgdG8uXG5JZiB0aGUgb3BlcmF0b3IgaXMgRXhpc3RzLCB0aGUgdmFsdWUgc2hvdWxkIGJlIGVtcHR5LCBvdGhlcndpc2UganVzdCBhIHJlZ3VsYXIgc3RyaW5nLiIsInR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sIm1vbml0b3JpbmciOnsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIG1vbml0b3JpbmcgZW5kcG9pbnQgZm9yIFNjYW5uZXIgVjQuIFRoZSBtb25pdG9yaW5nIGVuZHBvaW50XG5hbGxvd3Mgb3RoZXIgc2VydmljZXMgdG8gY29sbGVjdCBtZXRyaWNzIGZyb20gU2Nhbm5lciBWNCwgcHJvdmlkZWQgaW5cblByb21ldGhldXMgY29tcGF0aWJsZSBmb3JtYXQuIiwicHJvcGVydGllcyI6eyJleHBvc2VFbmRwb2ludCI6eyJkZXNjcmlwdGlvbiI6IkV4cG9zZSB0aGUgbW9uaXRvcmluZyBlbmRwb2ludC4gQSBuZXcgc2VydmljZSwgXCJtb25pdG9yaW5nXCIsXG53aXRoIHBvcnQgOTA5MCwgd2lsbCBiZSBjcmVhdGVkIGFzIHdlbGwgYXMgYSBuZXR3b3JrIHBvbGljeSBhbGxvd2luZ1xuaW5ib3VuZCBjb25uZWN0aW9ucyB0byB0aGUgcG9ydC4iLCJlbnVtIjpbIkVuYWJsZWQiLCJEaXNhYmxlZCJdLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInNjYW5uZXJDb21wb25lbnQiOnsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0byBlbmFibGUgdGhlIFNjYW5uZXIgVjQgY29tcG9uZW50IHNldCB0aGlzIHRvIFwiQXV0b1NlbnNlXCIuXG5BIHZhbHVlIG9mIFwiQXV0b1NlbnNlXCIgbWVhbnMgdGhhdCBTY2FubmVyIFY0IHNob3VsZCBiZSBpbnN0YWxsZWQsXG51bmxlc3MgdGhlcmUgaXMgYSBDZW50cmFsIHJlc291cmNlIGluIHRoZSBzYW1lIG5hbWVzcGFjZS5cbkluIHRoYXQgY2FzZSB0eXBpY2FsbHkgYSBjZW50cmFsIFNjYW5uZXIgVjQgd2lsbCBiZSBkZXBsb3llZCBhcyBhIGNvbXBvbmVudCBvZiBDZW50cmFsLlxuQSB2YWx1ZSBvZiBcIkRpc2FibGVkXCIgbWVhbnMgdGhhdCBTY2FubmVyIFY0IHNob3VsZCBub3QgYmUgaW5zdGFsbGVkLlxuSWYgdGhpcyBmaWVsZCBpcyBub3Qgc3BlY2lmaWVkIG9yIHNldCB0byBcIkRlZmF1bHRcIiwgdGhlIGZvbGxvd2luZyBkZWZhdWx0aW5nIHRha2VzIHBsYWNlOlxuKiBmb3IgdXBncmFkZXMgdG8gNC44IGZyb20gcHJldmlvdXMgcmVsZWFzZXMsIHRoZSBkZWZhdWx0IGlzOiBEaXNhYmxlZDtcbiogZm9yIG5ldyBpbnN0YWxsYXRpb25zIHN0YXJ0aW5nIHdpdGggQUNTIDQuOCwgdGhlIGRlZmF1bHQgaXM6IEF1dG9TZW5zZS4iLCJlbnVtIjpbIkRlZmF1bHQiLCJBdXRvU2Vuc2UiLCJEaXNhYmxlZCJdLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInNlbnNvciI6eyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIGZvciB0aGUgU2Vuc29yIGNvbXBvbmVudC4iLCJwcm9wZXJ0aWVzIjp7Imhvc3RBbGlhc2VzIjp7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXMgaG9sZHMgdGhlIG1hcHBpbmcgYmV0d2VlbiBJUCBhbmQgaG9zdG5hbWVzIHRoYXQgd2lsbCBiZSBpbmplY3RlZCBhcyBhbiBlbnRyeSBpbiB0aGVcbnBvZCdzIGhvc3RzIGZpbGUuIiwicHJvcGVydGllcyI6eyJob3N0bmFtZXMiOnsiZGVzY3JpcHRpb24iOiJIb3N0bmFtZXMgZm9yIHRoZSBhYm92ZSBJUCBhZGRyZXNzLiIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifSwidHlwZSI6ImFycmF5IiwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6ImF0b21pYyJ9LCJpcCI6eyJkZXNjcmlwdGlvbiI6IklQIGFkZHJlc3Mgb2YgdGhlIGhvc3QgZmlsZSBlbnRyeS4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJpcCJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJub2RlU2VsZWN0b3IiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9LCJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSBhIG5vZGUgc2VsZWN0b3IgaGVyZS5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3Rvci4iLCJ0eXBlIjoib2JqZWN0In0sInJlc291cmNlcyI6eyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwicHJvcGVydGllcyI6eyJjbGFpbXMiOnsiZGVzY3JpcHRpb24iOiJDbGFpbXMgbGlzdHMgdGhlIG5hbWVzIG9mIHJlc291cmNlcywgZGVmaW5lZCBpbiBzcGVjLnJlc291cmNlQ2xhaW1zLFxudGhhdCBhcmUgdXNlZCBieSB0aGlzIGNvbnRhaW5lci5cblxuVGhpcyBmaWVsZCBkZXBlbmRzIG9uIHRoZVxuRHluYW1pY1Jlc291cmNlQWxsb2NhdGlvbiBmZWF0dXJlIGdhdGUuXG5cblRoaXMgZmllbGQgaXMgaW1tdXRhYmxlLiBJdCBjYW4gb25seSBiZSBzZXQgZm9yIGNvbnRhaW5lcnMuIiwiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJSZXNvdXJjZUNsYWltIHJlZmVyZW5jZXMgb25lIGVudHJ5IGluIFBvZFNwZWMuUmVzb3VyY2VDbGFpbXMuIiwicHJvcGVydGllcyI6eyJuYW1lIjp7ImRlc2NyaXB0aW9uIjoiTmFtZSBtdXN0IG1hdGNoIHRoZSBuYW1lIG9mIG9uZSBlbnRyeSBpbiBwb2Quc3BlYy5yZXNvdXJjZUNsYWltcyBvZlxudGhlIFBvZCB3aGVyZSB0aGlzIGZpZWxkIGlzIHVzZWQuIEl0IG1ha2VzIHRoYXQgcmVzb3VyY2UgYXZhaWxhYmxlXG5pbnNpZGUgYSBjb250YWluZXIuIiwidHlwZSI6InN0cmluZyJ9LCJyZXF1ZXN0Ijp7ImRlc2NyaXB0aW9uIjoiUmVxdWVzdCBpcyB0aGUgbmFtZSBjaG9zZW4gZm9yIGEgcmVxdWVzdCBpbiB0aGUgcmVmZXJlbmNlZCBjbGFpbS5cbklmIGVtcHR5LCBldmVyeXRoaW5nIGZyb20gdGhlIGNsYWltIGlzIG1hZGUgYXZhaWxhYmxlLCBvdGhlcndpc2Vcbm9ubHkgdGhlIHJlc3VsdCBvZiB0aGlzIHJlcXVlc3QuIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsibmFtZSJdLCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSIsIngta3ViZXJuZXRlcy1saXN0LW1hcC1rZXlzIjpbIm5hbWUiXSwieC1rdWJlcm5ldGVzLWxpc3QtdHlwZSI6Im1hcCJ9LCJsaW1pdHMiOnsiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsiYW55T2YiOlt7InR5cGUiOiJpbnRlZ2VyIn0seyJ0eXBlIjoic3RyaW5nIn1dLCJwYXR0ZXJuIjoiXihcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSgoW0tNR1RQRV1pKXxbbnVta01HVFBFXXwoW2VFXShcXCt8LSk/KChbMC05XSsoXFwuWzAtOV0qKT8pfChcXC5bMC05XSspKSkpPyQiLCJ4LWt1YmVybmV0ZXMtaW50LW9yLXN0cmluZyI6dHJ1ZX0sImRlc2NyaXB0aW9uIjoiTGltaXRzIGRlc2NyaWJlcyB0aGUgbWF4aW11bSBhbW91bnQgb2YgY29tcHV0ZSByZXNvdXJjZXMgYWxsb3dlZC5cbk1vcmUgaW5mbzogaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvY29uZmlndXJhdGlvbi9tYW5hZ2UtcmVzb3VyY2VzLWNvbnRhaW5lcnMvIiwidHlwZSI6Im9iamVjdCJ9LCJyZXF1ZXN0cyI6eyJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJhbnlPZiI6W3sidHlwZSI6ImludGVnZXIifSx7InR5cGUiOiJzdHJpbmcifV0sInBhdHRlcm4iOiJeKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKChbS01HVFBFXWkpfFtudW1rTUdUUEVdfChbZUVdKFxcK3wtKT8oKFswLTldKyhcXC5bMC05XSopPyl8KFxcLlswLTldKykpKSk/JCIsIngta3ViZXJuZXRlcy1pbnQtb3Itc3RyaW5nIjp0cnVlfSwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0cyBkZXNjcmliZXMgdGhlIG1pbmltdW0gYW1vdW50IG9mIGNvbXB1dGUgcmVzb3VyY2VzIHJlcXVpcmVkLlxuSWYgUmVxdWVzdHMgaXMgb21pdHRlZCBmb3IgYSBjb250YWluZXIsIGl0IGRlZmF1bHRzIHRvIExpbWl0cyBpZiB0aGF0IGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkLFxub3RoZXJ3aXNlIHRvIGFuIGltcGxlbWVudGF0aW9uLWRlZmluZWQgdmFsdWUuIFJlcXVlc3RzIGNhbm5vdCBleGNlZWQgTGltaXRzLlxuTW9yZSBpbmZvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9jb25maWd1cmF0aW9uL21hbmFnZS1yZXNvdXJjZXMtY29udGFpbmVycy8iLCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In0sInRvbGVyYXRpb25zIjp7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlRoZSBwb2QgdGhpcyBUb2xlcmF0aW9uIGlzIGF0dGFjaGVkIHRvIHRvbGVyYXRlcyBhbnkgdGFpbnQgdGhhdCBtYXRjaGVzXG50aGUgdHJpcGxlIFx1MDAzY2tleSx2YWx1ZSxlZmZlY3RcdTAwM2UgdXNpbmcgdGhlIG1hdGNoaW5nIG9wZXJhdG9yIFx1MDAzY29wZXJhdG9yXHUwMDNlLiIsInByb3BlcnRpZXMiOnsiZWZmZWN0Ijp7ImRlc2NyaXB0aW9uIjoiRWZmZWN0IGluZGljYXRlcyB0aGUgdGFpbnQgZWZmZWN0IHRvIG1hdGNoLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQgZWZmZWN0cy5cbldoZW4gc3BlY2lmaWVkLCBhbGxvd2VkIHZhbHVlcyBhcmUgTm9TY2hlZHVsZSwgUHJlZmVyTm9TY2hlZHVsZSBhbmQgTm9FeGVjdXRlLiIsInR5cGUiOiJzdHJpbmcifSwia2V5Ijp7ImRlc2NyaXB0aW9uIjoiS2V5IGlzIHRoZSB0YWludCBrZXkgdGhhdCB0aGUgdG9sZXJhdGlvbiBhcHBsaWVzIHRvLiBFbXB0eSBtZWFucyBtYXRjaCBhbGwgdGFpbnQga2V5cy5cbklmIHRoZSBrZXkgaXMgZW1wdHksIG9wZXJhdG9yIG11c3QgYmUgRXhpc3RzOyB0aGlzIGNvbWJpbmF0aW9uIG1lYW5zIHRvIG1hdGNoIGFsbCB2YWx1ZXMgYW5kIGFsbCBrZXlzLiIsInR5cGUiOiJzdHJpbmcifSwib3BlcmF0b3IiOnsiZGVzY3JpcHRpb24iOiJPcGVyYXRvciByZXByZXNlbnRzIGEga2V5J3MgcmVsYXRpb25zaGlwIHRvIHRoZSB2YWx1ZS5cblZhbGlkIG9wZXJhdG9ycyBhcmUgRXhpc3RzLCBFcXVhbCwgTHQsIGFuZCBHdC4gRGVmYXVsdHMgdG8gRXF1YWwuXG5FeGlzdHMgaXMgZXF1aXZhbGVudCB0byB3aWxkY2FyZCBmb3IgdmFsdWUsIHNvIHRoYXQgYSBwb2QgY2FuXG50b2xlcmF0ZSBhbGwgdGFpbnRzIG9mIGEgcGFydGljdWxhciBjYXRlZ29yeS5cbkx0IGFuZCBHdCBwZXJmb3JtIG51bWVyaWMgY29tcGFyaXNvbnMgKHJlcXVpcmVzIGZlYXR1cmUgZ2F0ZSBUYWludFRvbGVyYXRpb25Db21wYXJpc29uT3BlcmF0b3JzKS4iLCJ0eXBlIjoic3RyaW5nIn0sInRvbGVyYXRpb25TZWNvbmRzIjp7ImRlc2NyaXB0aW9uIjoiVG9sZXJhdGlvblNlY29uZHMgcmVwcmVzZW50cyB0aGUgcGVyaW9kIG9mIHRpbWUgdGhlIHRvbGVyYXRpb24gKHdoaWNoIG11c3QgYmVcbm9mIGVmZmVjdCBOb0V4ZWN1dGUsIG90aGVyd2lzZSB0aGlzIGZpZWxkIGlzIGlnbm9yZWQpIHRvbGVyYXRlcyB0aGUgdGFpbnQuIEJ5IGRlZmF1bHQsXG5pdCBpcyBub3Qgc2V0LCB3aGljaCBtZWFucyB0b2xlcmF0ZSB0aGUgdGFpbnQgZm9yZXZlciAoZG8gbm90IGV2aWN0KS4gWmVybyBhbmRcbm5lZ2F0aXZlIHZhbHVlcyB3aWxsIGJlIHRyZWF0ZWQgYXMgMCAoZXZpY3QgaW1tZWRpYXRlbHkpIGJ5IHRoZSBzeXN0ZW0uIiwiZm9ybWF0IjoiaW50NjQiLCJ0eXBlIjoiaW50ZWdlciJ9LCJ2YWx1ZSI6eyJkZXNjcmlwdGlvbiI6IlZhbHVlIGlzIHRoZSB0YWludCB2YWx1ZSB0aGUgdG9sZXJhdGlvbiBtYXRjaGVzIHRvLlxuSWYgdGhlIG9wZXJhdG9yIGlzIEV4aXN0cywgdGhlIHZhbHVlIHNob3VsZCBiZSBlbXB0eSwgb3RoZXJ3aXNlIGp1c3QgYSByZWd1bGFyIHN0cmluZy4iLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0bHMiOnsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyByZWxhdGVkIHRvIFRyYW5zcG9ydCBMYXllciBTZWN1cml0eSwgc3VjaCBhcyBDZXJ0aWZpY2F0ZSBBdXRob3JpdGllcy4iLCJwcm9wZXJ0aWVzIjp7ImFkZGl0aW9uYWxDQXMiOnsiZGVzY3JpcHRpb24iOiJBbGxvd3MgeW91IHRvIHNwZWNpZnkgYWRkaXRpb25hbCB0cnVzdGVkIFJvb3QgQ0FzLiIsIml0ZW1zIjp7ImRlc2NyaXB0aW9uIjoiQWRkaXRpb25hbENBIGRlZmluZXMgYSBjZXJ0aWZpY2F0ZSBmb3IgYW4gYWRkaXRpb25hbCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkuIiwicHJvcGVydGllcyI6eyJjb250ZW50Ijp7ImRlc2NyaXB0aW9uIjoiUEVNIGZvcm1hdCIsInR5cGUiOiJzdHJpbmcifSwibmFtZSI6eyJkZXNjcmlwdGlvbiI6Ik11c3QgYmUgYSB2YWxpZCBmaWxlIGJhc2VuYW1lIiwidHlwZSI6InN0cmluZyJ9fSwicmVxdWlyZWQiOlsiY29udGVudCIsIm5hbWUiXSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifX0sInR5cGUiOiJvYmplY3QifX0sInJlcXVpcmVkIjpbImNsdXN0ZXJOYW1lIl0sInR5cGUiOiJvYmplY3QifSwic3RhdHVzIjp7ImRlc2NyaXB0aW9uIjoiU2VjdXJlZENsdXN0ZXJTdGF0dXMgZGVmaW5lcyB0aGUgb2JzZXJ2ZWQgc3RhdGUgb2YgU2VjdXJlZENsdXN0ZXIiLCJwcm9wZXJ0aWVzIjp7ImNsdXN0ZXJOYW1lIjp7ImRlc2NyaXB0aW9uIjoiVGhlIGFzc2lnbmVkIGNsdXN0ZXIgbmFtZSBwZXIgdGhlIHNwZWMuIFRoaXMgY2Fubm90IGJlIGNoYW5nZWQgYWZ0ZXJ3YXJkcy4gSWYgeW91IG5lZWQgdG8gY2hhbmdlIHRoZVxuY2x1c3RlciBuYW1lLCBwbGVhc2UgZGVsZXRlIGFuZCByZWNyZWF0ZSB0aGlzIHJlc291cmNlLiIsInR5cGUiOiJzdHJpbmcifSwiY29uZGl0aW9ucyI6eyJpdGVtcyI6eyJkZXNjcmlwdGlvbiI6IlN0YWNrUm94Q29uZGl0aW9uIGRlZmluZXMgYSBjb25kaXRpb24gZm9yIGEgU3RhY2tSb3ggY3VzdG9tIHJlc291cmNlLiIsInByb3BlcnRpZXMiOnsibGFzdFRyYW5zaXRpb25UaW1lIjp7ImZvcm1hdCI6ImRhdGUtdGltZSIsInR5cGUiOiJzdHJpbmcifSwibWVzc2FnZSI6eyJ0eXBlIjoic3RyaW5nIn0sInJlYXNvbiI6eyJkZXNjcmlwdGlvbiI6IkNvbmRpdGlvblJlYXNvbiBpcyBhIHR5cGUgb2YgdmFsdWVzIG9mIGNvbmRpdGlvbiByZWFzb24uIiwidHlwZSI6InN0cmluZyJ9LCJzdGF0dXMiOnsiZGVzY3JpcHRpb24iOiJDb25kaXRpb25TdGF0dXMgaXMgYSB0eXBlIG9mIHZhbHVlcyBvZiBjb25kaXRpb24gc3RhdHVzLiIsInR5cGUiOiJzdHJpbmcifSwidHlwZSI6eyJkZXNjcmlwdGlvbiI6IkNvbmRpdGlvblR5cGUgaXMgYSB0eXBlIG9mIHZhbHVlcyBvZiBjb25kaXRpb24gdHlwZS4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJzdGF0dXMiLCJ0eXBlIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In0sImRlcGxveWVkUmVsZWFzZSI6eyJkZXNjcmlwdGlvbiI6IlN0YWNrUm94UmVsZWFzZSBkZXNjcmliZXMgdGhlIEhlbG0gXCJyZWxlYXNlXCIgdGhhdCB3YXMgbW9zdCByZWNlbnRseSBhcHBsaWVkLiIsInByb3BlcnRpZXMiOnsidmVyc2lvbiI6eyJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sIm9ic2VydmVkR2VuZXJhdGlvbiI6eyJkZXNjcmlwdGlvbiI6Ik9ic2VydmVkR2VuZXJhdGlvbiBpcyB0aGUgZ2VuZXJhdGlvbiBtb3N0IHJlY2VudGx5IG9ic2VydmVkIGJ5IHRoZSBjb250cm9sbGVyLiIsImZvcm1hdCI6ImludDY0IiwidHlwZSI6ImludGVnZXIifSwicHJvZHVjdFZlcnNpb24iOnsiZGVzY3JpcHRpb24iOiJUaGUgZGVwbG95ZWQgdmVyc2lvbiBvZiB0aGUgcHJvZHVjdC4iLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJjb25kaXRpb25zIl0sInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifX0sInNlcnZlZCI6dHJ1ZSwic3RvcmFnZSI6dHJ1ZSwic3VicmVzb3VyY2VzIjp7InN0YXR1cyI6e319fV19LCJzdGF0dXMiOnsiYWNjZXB0ZWROYW1lcyI6eyJraW5kIjoiIiwicGx1cmFsIjoiIn0sImNvbmRpdGlvbnMiOm51bGwsInN0b3JlZFZlcnNpb25zIjpudWxsfX0=" + } + }, + { + "type": "olm.bundle.object", + "value": { + "data": "eyJhcGlWZXJzaW9uIjoiYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjEiLCJraW5kIjoiQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uIiwibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsiY29udHJvbGxlci1nZW4ua3ViZWJ1aWxkZXIuaW8vdmVyc2lvbiI6InYwLjIwLjAifSwiY3JlYXRpb25UaW1lc3RhbXAiOm51bGwsImxhYmVscyI6eyJhcHAiOiJyaGFjcy1vcGVyYXRvciJ9LCJuYW1lIjoic2VjdXJpdHlwb2xpY2llcy5jb25maWcuc3RhY2tyb3guaW8ifSwic3BlYyI6eyJncm91cCI6ImNvbmZpZy5zdGFja3JveC5pbyIsIm5hbWVzIjp7ImtpbmQiOiJTZWN1cml0eVBvbGljeSIsImxpc3RLaW5kIjoiU2VjdXJpdHlQb2xpY3lMaXN0IiwicGx1cmFsIjoic2VjdXJpdHlwb2xpY2llcyIsInNob3J0TmFtZXMiOlsic3AiXSwic2luZ3VsYXIiOiJzZWN1cml0eXBvbGljeSJ9LCJzY29wZSI6Ik5hbWVzcGFjZWQiLCJ2ZXJzaW9ucyI6W3sibmFtZSI6InYxYWxwaGExIiwic2NoZW1hIjp7Im9wZW5BUElWM1NjaGVtYSI6eyJkZXNjcmlwdGlvbiI6IlNlY3VyaXR5UG9saWN5IGlzIHRoZSBTY2hlbWEgZm9yIHRoZSBwb2xpY2llcyBBUEkiLCJwcm9wZXJ0aWVzIjp7ImFwaVZlcnNpb24iOnsiZGVzY3JpcHRpb24iOiJBUElWZXJzaW9uIGRlZmluZXMgdGhlIHZlcnNpb25lZCBzY2hlbWEgb2YgdGhpcyByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmplY3QuXG5TZXJ2ZXJzIHNob3VsZCBjb252ZXJ0IHJlY29nbml6ZWQgc2NoZW1hcyB0byB0aGUgbGF0ZXN0IGludGVybmFsIHZhbHVlLCBhbmRcbm1heSByZWplY3QgdW5yZWNvZ25pemVkIHZhbHVlcy5cbk1vcmUgaW5mbzogaHR0cHM6Ly9naXQuazhzLmlvL2NvbW11bml0eS9jb250cmlidXRvcnMvZGV2ZWwvc2lnLWFyY2hpdGVjdHVyZS9hcGktY29udmVudGlvbnMubWQjcmVzb3VyY2VzIiwidHlwZSI6InN0cmluZyJ9LCJraW5kIjp7ImRlc2NyaXB0aW9uIjoiS2luZCBpcyBhIHN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIFJFU1QgcmVzb3VyY2UgdGhpcyBvYmplY3QgcmVwcmVzZW50cy5cblNlcnZlcnMgbWF5IGluZmVyIHRoaXMgZnJvbSB0aGUgZW5kcG9pbnQgdGhlIGNsaWVudCBzdWJtaXRzIHJlcXVlc3RzIHRvLlxuQ2Fubm90IGJlIHVwZGF0ZWQuXG5JbiBDYW1lbENhc2UuXG5Nb3JlIGluZm86IGh0dHBzOi8vZ2l0Lms4cy5pby9jb21tdW5pdHkvY29udHJpYnV0b3JzL2RldmVsL3NpZy1hcmNoaXRlY3R1cmUvYXBpLWNvbnZlbnRpb25zLm1kI3R5cGVzLWtpbmRzIiwidHlwZSI6InN0cmluZyJ9LCJtZXRhZGF0YSI6eyJ0eXBlIjoib2JqZWN0In0sInNwZWMiOnsiZGVzY3JpcHRpb24iOiJTZWN1cml0eVBvbGljeVNwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBTZWN1cml0eVBvbGljeSIsInByb3BlcnRpZXMiOnsiY2F0ZWdvcmllcyI6eyJkZXNjcmlwdGlvbiI6IkNhdGVnb3JpZXMgaXMgYSBsaXN0IG9mIGNhdGVnb3JpZXMgdGhhdCB0aGlzIHBvbGljeSBmYWxscyB1bmRlci4gIENhdGVnb3J5IG5hbWVzIG11c3QgYWxyZWFkeSBleGlzdCBpbiBDZW50cmFsLiIsIml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifSwibWluSXRlbXMiOjEsInR5cGUiOiJhcnJheSJ9LCJjcml0ZXJpYUxvY2tlZCI6eyJkZXNjcmlwdGlvbiI6IkNyaXRlcmlhTG9ja2VkIGlzIHVudXNlZCBhbmQgZGVwcmVjYXRlZCIsInR5cGUiOiJib29sZWFuIn0sImRlc2NyaXB0aW9uIjp7ImRlc2NyaXB0aW9uIjoiRGVzY3JpcHRpb24gaXMgYSBmcmVlLWZvcm0gdGV4dCBkZXNjcmlwdGlvbiBvZiB0aGlzIHBvbGljeS4iLCJwYXR0ZXJuIjoiXlteXFwkXXswLDgwMH0kIiwidHlwZSI6InN0cmluZyJ9LCJkaXNhYmxlZCI6eyJkZXNjcmlwdGlvbiI6IkRpc2FibGVkIHRvZ2dsZXMgd2hldGhlciBvciBub3QgdGhpcyBwb2xpY3kgd2lsbCBiZSBleGVjdXRpbmcgYW5kIGFjdGl2ZWx5IGZpcmluZyBhbGVydHMuIiwidHlwZSI6ImJvb2xlYW4ifSwiZW5mb3JjZW1lbnRBY3Rpb25zIjp7ImRlc2NyaXB0aW9uIjoiRW5mb3JjZW1lbnQgbGlzdHMgdGhlIGVuZm9yY2VtZW50IGFjdGlvbnMgdG8gdGFrZSB3aGVuIGEgdmlvbGF0aW9uIGZyb20gdGhpcyBwb2xpY3kgaXMgaWRlbnRpZmllZC4gIFBvc3NpYmxlIHZhbHVlIGFyZSBVTlNFVF9FTkZPUkNFTUVOVCwgU0NBTEVfVE9fWkVST19FTkZPUkNFTUVOVCwgVU5TQVRJU0ZJQUJMRV9OT0RFX0NPTlNUUkFJTlRfRU5GT1JDRU1FTlQsIEtJTExfUE9EX0VORk9SQ0VNRU5ULCBGQUlMX0JVSUxEX0VORk9SQ0VNRU5ULCBGQUlMX0tVQkVfUkVRVUVTVF9FTkZPUkNFTUVOVCwgRkFJTF9ERVBMT1lNRU5UX0NSRUFURV9FTkZPUkNFTUVOVCwgYW5kLiBGQUlMX0RFUExPWU1FTlRfVVBEQVRFX0VORk9SQ0VNRU5ULiIsIml0ZW1zIjp7ImVudW0iOlsiVU5TRVRfRU5GT1JDRU1FTlQiLCJTQ0FMRV9UT19aRVJPX0VORk9SQ0VNRU5UIiwiVU5TQVRJU0ZJQUJMRV9OT0RFX0NPTlNUUkFJTlRfRU5GT1JDRU1FTlQiLCJLSUxMX1BPRF9FTkZPUkNFTUVOVCIsIkZBSUxfQlVJTERfRU5GT1JDRU1FTlQiLCJGQUlMX0tVQkVfUkVRVUVTVF9FTkZPUkNFTUVOVCIsIkZBSUxfREVQTE9ZTUVOVF9DUkVBVEVfRU5GT1JDRU1FTlQiLCJGQUlMX0RFUExPWU1FTlRfVVBEQVRFX0VORk9SQ0VNRU5UIl0sInR5cGUiOiJzdHJpbmcifSwidHlwZSI6ImFycmF5In0sImV2ZW50U291cmNlIjp7ImRlc2NyaXB0aW9uIjoiRXZlbnRTb3VyY2UgZGVzY3JpYmVzIHdoaWNoIGV2ZW50cyBzaG91bGQgdHJpZ2dlciBleGVjdXRpb24gb2YgdGhpcyBwb2xpY3kiLCJlbnVtIjpbIk5PVF9BUFBMSUNBQkxFIiwiREVQTE9ZTUVOVF9FVkVOVCIsIkFVRElUX0xPR19FVkVOVCJdLCJ0eXBlIjoic3RyaW5nIn0sImV4Y2x1c2lvbnMiOnsiZGVzY3JpcHRpb24iOiJFeGNsdXNpb25zIGRlZmluZSBkZXBsb3ltZW50cyBvciBpbWFnZXMgdGhhdCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSB0aGlzIHBvbGljeS4iLCJpdGVtcyI6eyJwcm9wZXJ0aWVzIjp7ImRlcGxveW1lbnQiOnsicHJvcGVydGllcyI6eyJuYW1lIjp7InR5cGUiOiJzdHJpbmcifSwic2NvcGUiOnsicHJvcGVydGllcyI6eyJjbHVzdGVyIjp7ImRlc2NyaXB0aW9uIjoiQ2x1c3RlciBpcyBlaXRoZXIgdGhlIG5hbWUgb3IgdGhlIElEIG9mIHRoZSBjbHVzdGVyIHRoYXQgdGhpcyBzY29wZSBhcHBsaWVzIHRvIiwidHlwZSI6InN0cmluZyJ9LCJsYWJlbCI6eyJwcm9wZXJ0aWVzIjp7ImtleSI6eyJ0eXBlIjoic3RyaW5nIn0sInZhbHVlIjp7InR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifSwibmFtZXNwYWNlIjp7InR5cGUiOiJzdHJpbmcifX0sInR5cGUiOiJvYmplY3QifX0sInR5cGUiOiJvYmplY3QifSwiZXhwaXJhdGlvbiI6eyJmb3JtYXQiOiJkYXRlLXRpbWUiLCJ0eXBlIjoic3RyaW5nIn0sImltYWdlIjp7InByb3BlcnRpZXMiOnsibmFtZSI6eyJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sIm5hbWUiOnsidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwiaXNEZWZhdWx0Ijp7ImRlc2NyaXB0aW9uIjoiSXNEZWZhdWx0IGlzIHVudXNlZCIsInR5cGUiOiJib29sZWFuIn0sImxpZmVjeWNsZVN0YWdlcyI6eyJkZXNjcmlwdGlvbiI6IkxpZmVjeWNsZVN0YWdlcyBkZXNjcmliZXMgd2hpY2ggcG9saWN5IGxpZmVjeWxjZSBzdGFnZXMgdGhpcyBwb2xpY3kgYXBwbGllcyB0by4gIENob2ljZXMgYXJlIERFUExPWSwgQlVJTEQsIGFuZCBSVU5USU1FLiIsIml0ZW1zIjp7ImVudW0iOlsiREVQTE9ZIiwiQlVJTEQiLCJSVU5USU1FIl0sInR5cGUiOiJzdHJpbmcifSwibWluSXRlbXMiOjEsInR5cGUiOiJhcnJheSJ9LCJtaXRyZUF0dGFja1ZlY3RvcnMiOnsiaXRlbXMiOnsicHJvcGVydGllcyI6eyJ0YWN0aWMiOnsidHlwZSI6InN0cmluZyJ9LCJ0ZWNobmlxdWVzIjp7Iml0ZW1zIjp7InR5cGUiOiJzdHJpbmcifSwidHlwZSI6ImFycmF5In19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9LCJtaXRyZVZlY3RvcnNMb2NrZWQiOnsiZGVzY3JpcHRpb24iOiJNaXRyZVZldG9yc0xvY2tlZCBpcyB1bnVzZWQgYW5kIGRlcHJlY2F0ZWQiLCJ0eXBlIjoiYm9vbGVhbiJ9LCJub3RpZmllcnMiOnsiZGVzY3JpcHRpb24iOiJOb3RpZmllcnMgaXMgYSBsaXN0IG9mIElEcyBvciBuYW1lcyBvZiB0aGUgbm90aWZpZXJzIHRoYXQgc2hvdWxkIGJlIHRyaWdnZXJlZCB3aGVuIGEgdmlvbGF0aW9uIGZyb20gdGhpcyBwb2xpY3kgaXMgaWRlbnRpZmllZC4gIElEcyBzaG91bGQgYmUgaW4gdGhlIGZvcm0gb2YgYSBVVUlEIGFuZCBhcmUgZm91bmQgdGhyb3VnaCB0aGUgQ2VudHJhbCBBUEkuIiwiaXRlbXMiOnsidHlwZSI6InN0cmluZyJ9LCJ0eXBlIjoiYXJyYXkifSwicG9saWN5TmFtZSI6eyJkZXNjcmlwdGlvbiI6IlBvbGljeU5hbWUgaXMgdGhlIG5hbWUgb2YgdGhlIHBvbGljeSBhcyBpdCBhcHBlYXJzIGluIHRoZSBBUEkgYW5kIFVJLiAgTm90ZSB0aGF0IGNoYW5naW5nIHRoaXMgdmFsdWUgd2lsbCByZW5hbWUgdGhlIHBvbGljeSBhcyBzdG9yZWQgaW4gdGhlIGRhdGFiYXNlLiAgVGhpcyBmaWVsZCBtdXN0IGJlIHVuaXF1ZS4iLCJwYXR0ZXJuIjoiXlteXFxuXFxyXFwkXXs1LDEyOH0kIiwidHlwZSI6InN0cmluZyJ9LCJwb2xpY3lTZWN0aW9ucyI6eyJkZXNjcmlwdGlvbiI6IlBvbGljeVNlY3Rpb25zIGRlZmluZSB0aGUgdmlvbGF0aW9uIGNyaXRlcmlhIGZvciB0aGlzIHBvbGljeS4iLCJpdGVtcyI6eyJwcm9wZXJ0aWVzIjp7InBvbGljeUdyb3VwcyI6eyJkZXNjcmlwdGlvbiI6IlBvbGljeUdyb3VwcyBpcyB0aGUgc2V0IG9mIHBvbGljaWVzIGdyb3VwcyB0aGF0IG1ha2UgdXAgdGhpcyBzZWN0aW9uLiAgRWFjaCBncm91cCBjYW4gYmUgY29uc2lkZXJlZCBhbiBpbmRpdmlkdWFsIGNyaXRlcmlvbi4iLCJpdGVtcyI6eyJwcm9wZXJ0aWVzIjp7ImJvb2xlYW5PcGVyYXRvciI6eyJkZXNjcmlwdGlvbiI6IkJvb2xlYW5PcGVyYXRvciBkZXRlcm1pbmVzIGlmIHRoZSB2YWx1ZXMgYXJlIGNvbWJpbmVkIHdpdGggYW4gT1Igb3IgYW4gQU5ELiAgRGVmYXVsdHMgdG8gT1IuIiwiZW51bSI6WyJPUiIsIkFORCJdLCJ0eXBlIjoic3RyaW5nIn0sImZpZWxkTmFtZSI6eyJkZXNjcmlwdGlvbiI6IkZpZWxkTmFtZSBkZWZpbmVzIHdoaWNoIGZpZWxkIG9uIGEgZGVwbG95bWVudCBvciBpbWFnZSB0aGlzIFBvbGljeUdyb3VwIGV2YWx1YXRlcy4gIFNlZSBodHRwczovL2RvY3Mub3BlbnNoaWZ0LmNvbS9hY3Mvb3BlcmF0aW5nL21hbmFnZS1zZWN1cml0eS1wb2xpY2llcy5odG1sI3BvbGljeS1jcml0ZXJpYV9tYW5hZ2Utc2VjdXJpdHktcG9saWNpZXMgZm9yIGEgY29tcGxldGUgbGlzdCBvZiBwb3NzaWJsZSB2YWx1ZXMuIiwidHlwZSI6InN0cmluZyJ9LCJuZWdhdGUiOnsiZGVzY3JpcHRpb24iOiJOZWdhdGUgZGV0ZXJtaW5lcyBpZiB0aGUgZXZhbHVhdGlvbiBvZiB0aGlzIFBvbGljeUdyb3VwIGlzIG5lZ2F0ZWQuICBEZWZhdWx0IHRvIGZhbHNlLiIsInR5cGUiOiJib29sZWFuIn0sInZhbHVlcyI6eyJkZXNjcmlwdGlvbiI6IlZhbHVlcyBpcyB0aGUgbGlzdCBvZiB2YWx1ZXMgZm9yIHRoZSBzcGVjaWZpZWQgZmllbGQiLCJpdGVtcyI6eyJwcm9wZXJ0aWVzIjp7InZhbHVlIjp7ImRlc2NyaXB0aW9uIjoiVmFsdWUgaXMgc2ltcGx5IHRoZSBzdHJpbmcgdmFsdWUiLCJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In0sInR5cGUiOiJhcnJheSJ9fSwicmVxdWlyZWQiOlsiZmllbGROYW1lIl0sInR5cGUiOiJvYmplY3QifSwidHlwZSI6ImFycmF5In0sInNlY3Rpb25OYW1lIjp7ImRlc2NyaXB0aW9uIjoiU2VjdGlvbk5hbWUgaXMgYSB1c2VyLWZyaWVuZGx5IG5hbWUgZm9yIHRoaXMgc2VjdGlvbiBvZiBwb2xpY2llcyIsInR5cGUiOiJzdHJpbmcifX0sInJlcXVpcmVkIjpbInBvbGljeUdyb3VwcyJdLCJ0eXBlIjoib2JqZWN0In0sIm1pbkl0ZW1zIjoxLCJ0eXBlIjoiYXJyYXkifSwicmF0aW9uYWxlIjp7InR5cGUiOiJzdHJpbmcifSwicmVtZWRpYXRpb24iOnsiZGVzY3JpcHRpb24iOiJSZW1lZGlhdGlvbiBkZXNjcmliZXMgaG93IHRvIHJlbWVkaWF0ZSBhIHZpb2xhdGlvbiBvZiB0aGlzIHBvbGljeS4iLCJ0eXBlIjoic3RyaW5nIn0sInNjb3BlIjp7ImRlc2NyaXB0aW9uIjoiU2NvcGUgZGVmaW5lcyBjbHVzdGVycywgbmFtZXNwYWNlcywgYW5kIGRlcGxveW1lbnRzIHRoYXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoaXMgcG9saWN5LiAgTm8gc2NvcGVzIGRlZmluZWQgaW5jbHVkZXMgZXZlcnl0aGluZy4iLCJpdGVtcyI6eyJwcm9wZXJ0aWVzIjp7ImNsdXN0ZXIiOnsiZGVzY3JpcHRpb24iOiJDbHVzdGVyIGlzIGVpdGhlciB0aGUgbmFtZSBvciB0aGUgSUQgb2YgdGhlIGNsdXN0ZXIgdGhhdCB0aGlzIHNjb3BlIGFwcGxpZXMgdG8iLCJ0eXBlIjoic3RyaW5nIn0sImxhYmVsIjp7InByb3BlcnRpZXMiOnsia2V5Ijp7InR5cGUiOiJzdHJpbmcifSwidmFsdWUiOnsidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJuYW1lc3BhY2UiOnsidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwic2V2ZXJpdHkiOnsiZGVzY3JpcHRpb24iOiJTZXZlcml0eSBkZWZpbmVzIGhvdyBzZXZlcmUgYSB2aW9sYXRpb24gZnJvbSB0aGlzIHBvbGljeSBpcy4gIFBvc3NpYmxlIHZhbHVlcyBhcmUgVU5TRVRfU0VWRVJJVFksIExPV19TRVZFUklUWSwgTUVESVVNX1NFVkVSSVRZLCBISUdIX1NFVkVSSVRZLCBhbmQgQ1JJVElDQUxfU0VWRVJJVFkuIiwiZW51bSI6WyJVTlNFVF9TRVZFUklUWSIsIkxPV19TRVZFUklUWSIsIk1FRElVTV9TRVZFUklUWSIsIkhJR0hfU0VWRVJJVFkiLCJDUklUSUNBTF9TRVZFUklUWSJdLCJ0eXBlIjoic3RyaW5nIn19LCJyZXF1aXJlZCI6WyJjYXRlZ29yaWVzIiwibGlmZWN5Y2xlU3RhZ2VzIiwicG9saWN5TmFtZSIsInBvbGljeVNlY3Rpb25zIiwic2V2ZXJpdHkiXSwidHlwZSI6Im9iamVjdCJ9LCJzdGF0dXMiOnsicHJvcGVydGllcyI6eyJhY2NlcHRlZCI6eyJkZXNjcmlwdGlvbiI6IkFjY2VwdGVkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgY29uZGl0aW9ucyIsInR5cGUiOiJib29sZWFuIn0sImNvbmRpdGlvbnMiOnsiaXRlbXMiOnsiZGVzY3JpcHRpb24iOiJTZWN1cml0eVBvbGljeUNvbmRpdGlvbiBkZWZpbmVzIHRoZSBvYnNlcnZlZCBzdGF0ZSBvZiBTZWN1cml0eVBvbGljeSIsInByb3BlcnRpZXMiOnsibGFzdFRyYW5zaXRpb25UaW1lIjp7ImZvcm1hdCI6ImRhdGUtdGltZSIsInR5cGUiOiJzdHJpbmcifSwibWVzc2FnZSI6eyJ0eXBlIjoic3RyaW5nIn0sInN0YXR1cyI6eyJ0eXBlIjoic3RyaW5nIn0sInR5cGUiOnsidHlwZSI6InN0cmluZyJ9fSwidHlwZSI6Im9iamVjdCJ9LCJ0eXBlIjoiYXJyYXkifSwibWVzc2FnZSI6eyJkZXNjcmlwdGlvbiI6Ik1lc3NhZ2UgaXMgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiBjb25kaXRpb25zIiwidHlwZSI6InN0cmluZyJ9LCJwb2xpY3lJZCI6eyJ0eXBlIjoic3RyaW5nIn19LCJ0eXBlIjoib2JqZWN0In19LCJ0eXBlIjoib2JqZWN0In19LCJzZXJ2ZWQiOnRydWUsInN0b3JhZ2UiOnRydWUsInN1YnJlc291cmNlcyI6eyJzdGF0dXMiOnt9fX1dfSwic3RhdHVzIjp7ImFjY2VwdGVkTmFtZXMiOnsia2luZCI6IiIsInBsdXJhbCI6IiJ9LCJjb25kaXRpb25zIjpudWxsLCJzdG9yZWRWZXJzaW9ucyI6bnVsbH19" + } + }, + { + "type": "olm.bundle.object", + "value": { + "data": "eyJhcGlWZXJzaW9uIjoib3BlcmF0b3JzLmNvcmVvcy5jb20vdjFhbHBoYTEiLCJraW5kIjoiQ2x1c3RlclNlcnZpY2VWZXJzaW9uIiwibWV0YWRhdGEiOnsiYW5ub3RhdGlvbnMiOnsiYWxtLWV4YW1wbGVzIjoiW1xuICB7XG4gICAgXCJhcGlWZXJzaW9uXCI6IFwicGxhdGZvcm0uc3RhY2tyb3guaW8vdjFhbHBoYTFcIixcbiAgICBcImtpbmRcIjogXCJDZW50cmFsXCIsXG4gICAgXCJtZXRhZGF0YVwiOiB7XG4gICAgICBcIm5hbWVcIjogXCJzdGFja3JveC1jZW50cmFsLXNlcnZpY2VzXCIsXG4gICAgICBcIm5hbWVzcGFjZVwiOiBcInN0YWNrcm94XCJcbiAgICB9LFxuICAgIFwic3BlY1wiOiB7XG4gICAgICBcImNlbnRyYWxcIjoge1xuICAgICAgICBcImV4cG9zdXJlXCI6IHtcbiAgICAgICAgICBcInJvdXRlXCI6IHtcbiAgICAgICAgICAgIFwiZW5hYmxlZFwiOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LFxuICB7XG4gICAgXCJhcGlWZXJzaW9uXCI6IFwicGxhdGZvcm0uc3RhY2tyb3guaW8vdjFhbHBoYTFcIixcbiAgICBcImtpbmRcIjogXCJTZWN1cmVkQ2x1c3RlclwiLFxuICAgIFwibWV0YWRhdGFcIjoge1xuICAgICAgXCJuYW1lXCI6IFwic3RhY2tyb3gtc2VjdXJlZC1jbHVzdGVyLXNlcnZpY2VzXCIsXG4gICAgICBcIm5hbWVzcGFjZVwiOiBcInN0YWNrcm94XCJcbiAgICB9LFxuICAgIFwic3BlY1wiOiB7XG4gICAgICBcImNsdXN0ZXJOYW1lXCI6IFwibXktY2x1c3RlclwiXG4gICAgfVxuICB9XG5dIiwiY2FwYWJpbGl0aWVzIjoiU2VhbWxlc3MgVXBncmFkZXMiLCJjYXRlZ29yaWVzIjoiU2VjdXJpdHkiLCJjb25zb2xlLm9wZW5zaGlmdC5pby9wbHVnaW5zIjoiW1wiYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eVwiXSIsImNvbnRhaW5lckltYWdlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3MtcmhlbDgtb3BlcmF0b3JAc2hhMjU2Ojk4NDBlMzM3MDVmODM3MGI3YWMyOGY5OWRhM2U2Y2JhNzI5NzJmNjA0MDA3YjM4MTJkYTRhMWY1ZmI0OTlhYjkiLCJjcmVhdGVkQXQiOiIyMDI2LTA1LTE4VDE5OjM3OjE0LjY5MzQxMSswMDowMCIsImRlc2NyaXB0aW9uIjoiUmVkIEhhdCBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5IChSSEFDUykgb3BlcmF0b3IgcHJvdmlzaW9ucyB0aGUgc2VydmljZXMgbmVjZXNzYXJ5IHRvIHNlY3VyZSBlYWNoIG9mIHlvdXIgT3BlblNoaWZ0IGFuZCBLdWJlcm5ldGVzIGNsdXN0ZXJzLiIsImZlYXR1cmVzLm9wZXJhdG9ycy5vcGVuc2hpZnQuaW8vY25mIjoiZmFsc2UiLCJmZWF0dXJlcy5vcGVyYXRvcnMub3BlbnNoaWZ0LmlvL2NuaSI6ImZhbHNlIiwiZmVhdHVyZXMub3BlcmF0b3JzLm9wZW5zaGlmdC5pby9jc2kiOiJmYWxzZSIsImZlYXR1cmVzLm9wZXJhdG9ycy5vcGVuc2hpZnQuaW8vZGlzY29ubmVjdGVkIjoidHJ1ZSIsImZlYXR1cmVzLm9wZXJhdG9ycy5vcGVuc2hpZnQuaW8vZmlwcy1jb21wbGlhbnQiOiJ0cnVlIiwiZmVhdHVyZXMub3BlcmF0b3JzLm9wZW5zaGlmdC5pby9wcm94eS1hd2FyZSI6InRydWUiLCJmZWF0dXJlcy5vcGVyYXRvcnMub3BlbnNoaWZ0LmlvL3Rscy1wcm9maWxlcyI6ImZhbHNlIiwiZmVhdHVyZXMub3BlcmF0b3JzLm9wZW5zaGlmdC5pby90b2tlbi1hdXRoLWF3cyI6ImZhbHNlIiwiZmVhdHVyZXMub3BlcmF0b3JzLm9wZW5zaGlmdC5pby90b2tlbi1hdXRoLWF6dXJlIjoiZmFsc2UiLCJmZWF0dXJlcy5vcGVyYXRvcnMub3BlbnNoaWZ0LmlvL3Rva2VuLWF1dGgtZ2NwIjoiZmFsc2UiLCJvbG0uc2tpcFJhbmdlIjoiXHUwMDNlPSA0LjkuMCBcdTAwM2MgNC4xMC4zLXJjLjEiLCJvcGVyYXRvcmZyYW1ld29yay5pby9zdWdnZXN0ZWQtbmFtZXNwYWNlIjoicmhhY3Mtb3BlcmF0b3IiLCJvcGVyYXRvcnMub3BlbnNoaWZ0LmlvL2luZnJhc3RydWN0dXJlLWZlYXR1cmVzIjoiW1wiZGlzY29ubmVjdGVkXCIsIFwicHJveHktYXdhcmVcIl0iLCJvcGVyYXRvcnMub3BlbnNoaWZ0LmlvL3ZhbGlkLXN1YnNjcmlwdGlvbiI6IltcIk9wZW5TaGlmdCBQbGF0Zm9ybSBQbHVzXCIsIFwiUmVkIEhhdCBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5XCJdIiwib3BlcmF0b3JzLm9wZXJhdG9yZnJhbWV3b3JrLmlvL2J1aWxkZXIiOiJvcGVyYXRvci1zZGstdW5rbm93biIsIm9wZXJhdG9ycy5vcGVyYXRvcmZyYW1ld29yay5pby9wcm9qZWN0X2xheW91dCI6ImdvLmt1YmVidWlsZGVyLmlvL3Y0Iiwic3VwcG9ydCI6IlJlZCBIYXQifSwibGFiZWxzIjp7Im9wZXJhdG9yZnJhbWV3b3JrLmlvL2FyY2guYW1kNjQiOiJzdXBwb3J0ZWQiLCJvcGVyYXRvcmZyYW1ld29yay5pby9hcmNoLmFybTY0Ijoic3VwcG9ydGVkIiwib3BlcmF0b3JmcmFtZXdvcmsuaW8vYXJjaC5wcGM2NGxlIjoic3VwcG9ydGVkIiwib3BlcmF0b3JmcmFtZXdvcmsuaW8vYXJjaC5zMzkweCI6InN1cHBvcnRlZCJ9LCJuYW1lIjoicmhhY3Mtb3BlcmF0b3IudjQuMTAuMy1yYy4xIiwibmFtZXNwYWNlIjoicGxhY2Vob2xkZXIifSwic3BlYyI6eyJhcGlzZXJ2aWNlZGVmaW5pdGlvbnMiOnt9LCJjdXN0b21yZXNvdXJjZWRlZmluaXRpb25zIjp7Im93bmVkIjpbeyJkZXNjcmlwdGlvbiI6IkNlbnRyYWwgaXMgdGhlIGNvbmZpZ3VyYXRpb24gdGVtcGxhdGUgZm9yIHRoZSBjZW50cmFsIHNlcnZpY2VzLiBUaGlzIGluY2x1ZGVzIHRoZSBBUEkgc2VydmVyLCBwZXJzaXN0ZW50IHN0b3JhZ2UsXG5hbmQgdGhlIHdlYiBVSSwgYXMgd2VsbCBhcyB0aGUgaW1hZ2Ugc2Nhbm5lci4iLCJkaXNwbGF5TmFtZSI6IkNlbnRyYWwiLCJraW5kIjoiQ2VudHJhbCIsIm5hbWUiOiJjZW50cmFscy5wbGF0Zm9ybS5zdGFja3JveC5pbyIsInJlc291cmNlcyI6W3sia2luZCI6IkRlcGxveW1lbnQiLCJuYW1lIjoiIiwidmVyc2lvbiI6InYxIn0seyJraW5kIjoiUm91dGUiLCJuYW1lIjoiIiwidmVyc2lvbiI6InYxIn0seyJraW5kIjoiU2VjcmV0IiwibmFtZSI6IiIsInZlcnNpb24iOiJ2MSJ9LHsia2luZCI6IlNlcnZpY2UiLCJuYW1lIjoiIiwidmVyc2lvbiI6InYxIn1dLCJzcGVjRGVzY3JpcHRvcnMiOlt7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBDZW50cmFsIGNvbXBvbmVudCwgd2hpY2ggaXMgcmVzcG9uc2libGUgZm9yIGFsbCB1c2VyIGludGVyYWN0aW9uLiIsImRpc3BsYXlOYW1lIjoiQ2VudHJhbCBDb21wb25lbnQgU2V0dGluZ3MiLCJwYXRoIjoiY2VudHJhbCJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIFNjYW5uZXIgY29tcG9uZW50LCB3aGljaCBpcyByZXNwb25zaWJsZSBmb3IgdnVsbmVyYWJpbGl0eSBzY2FubmluZyBvZiBjb250YWluZXJcbmltYWdlcy4iLCJkaXNwbGF5TmFtZSI6IlNjYW5uZXIgQ29tcG9uZW50IFNldHRpbmdzIiwicGF0aCI6InNjYW5uZXIifSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBTY2FubmVyIFY0IGNvbXBvbmVudCwgd2hpY2ggY2FuIHJ1biBpbiBhZGRpdGlvbiB0byB0aGUgcHJldmlvdXNseSBleGlzdGluZyBTY2FubmVyIGNvbXBvbmVudHMiLCJkaXNwbGF5TmFtZSI6IlNjYW5uZXIgVjQgQ29tcG9uZW50IFNldHRpbmdzIiwicGF0aCI6InNjYW5uZXJWNCJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyByZWxhdGVkIHRvIG91dGdvaW5nIG5ldHdvcmsgdHJhZmZpYy4iLCJkaXNwbGF5TmFtZSI6IkVncmVzcyIsInBhdGgiOiJlZ3Jlc3MifSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcmVsYXRlZCB0byBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHksIHN1Y2ggYXMgQ2VydGlmaWNhdGUgQXV0aG9yaXRpZXMuIiwiZGlzcGxheU5hbWUiOiJUTFMiLCJwYXRoIjoidGxzIn0seyJkZXNjcmlwdGlvbiI6IkFkZGl0aW9uYWwgaW1hZ2UgcHVsbCBzZWNyZXRzIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCBmb3IgcHVsbGluZyBpbWFnZXMuIiwiZGlzcGxheU5hbWUiOiJJbWFnZSBQdWxsIFNlY3JldHMiLCJwYXRoIjoiaW1hZ2VQdWxsU2VjcmV0cyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTphZHZhbmNlZCJdfSx7ImRlc2NyaXB0aW9uIjoiQ3VzdG9taXphdGlvbnMgdG8gYXBwbHkgb24gYWxsIENlbnRyYWwgU2VydmljZXMgY29tcG9uZW50cy4iLCJkaXNwbGF5TmFtZSI6IkN1c3RvbWl6YXRpb25zIiwicGF0aCI6ImN1c3RvbWl6ZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTphZHZhbmNlZCJdfSx7ImRlc2NyaXB0aW9uIjoiT3ZlcmxheXMiLCJkaXNwbGF5TmFtZSI6Ik92ZXJsYXlzIiwicGF0aCI6Im92ZXJsYXlzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmhpZGRlbiJdfSx7ImRlc2NyaXB0aW9uIjoiTW9uaXRvcmluZyBjb25maWd1cmF0aW9uLiIsImRpc3BsYXlOYW1lIjoiTW9uaXRvcmluZyIsInBhdGgiOiJtb25pdG9yaW5nIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmFkdmFuY2VkIl19LHsiZGVzY3JpcHRpb24iOiJOZXR3b3JrIGNvbmZpZ3VyYXRpb24uIiwiZGlzcGxheU5hbWUiOiJOZXR3b3JrIiwicGF0aCI6Im5ldHdvcmsiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6YWR2YW5jZWQiXX0seyJkZXNjcmlwdGlvbiI6IkNvbmZpZy1hcy1Db2RlIGNvbmZpZ3VyYXRpb24uIiwiZGlzcGxheU5hbWUiOiJDb25maWctYXMtQ29kZSIsInBhdGgiOiJjb25maWdBc0NvZGUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6YWR2YW5jZWQiXX0seyJkZXNjcmlwdGlvbiI6IkRlcHJlY2F0ZWQgZmllbGQuIFRoaXMgZmllbGQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuXG5NaXNjZWxsYW5lb3VzIHNldHRpbmdzLiIsImRpc3BsYXlOYW1lIjoiTWlzY2VsbGFuZW91cyIsInBhdGgiOiJtaXNjIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmhpZGRlbiJdfSx7ImRlc2NyaXB0aW9uIjoiU3BlY2lmeSBhIHNlY3JldCB0aGF0IGNvbnRhaW5zIHRoZSBhZG1pbmlzdHJhdG9yIHBhc3N3b3JkIGluIHRoZSBcInBhc3N3b3JkXCIgZGF0YSBpdGVtLlxuSWYgb21pdHRlZCwgdGhlIG9wZXJhdG9yIHdpbGwgYXV0by1nZW5lcmF0ZSBhIHBhc3N3b3JkIGFuZCBzdG9yZSBpdCBpbiB0aGUgXCJwYXNzd29yZFwiIGl0ZW1cbmluIHRoZSBcImNlbnRyYWwtaHRwYXNzd2RcIiBzZWNyZXQuIiwiZGlzcGxheU5hbWUiOiJBZG1pbmlzdHJhdG9yIFBhc3N3b3JkIiwicGF0aCI6ImNlbnRyYWwuYWRtaW5QYXNzd29yZFNlY3JldCJ9LHsiZGVzY3JpcHRpb24iOiJIZXJlIHlvdSBjYW4gY29uZmlndXJlIGlmIHlvdSB3YW50IHRvIGV4cG9zZSBjZW50cmFsIHRocm91Z2ggYSBub2RlIHBvcnQsIGEgbG9hZCBiYWxhbmNlciwgb3IgYW4gT3BlblNoaWZ0XG5yb3V0ZS4iLCJkaXNwbGF5TmFtZSI6IkV4cG9zdXJlIiwicGF0aCI6ImNlbnRyYWwuZXhwb3N1cmUifSx7ImRlc2NyaXB0aW9uIjoiQnkgZGVmYXVsdCwgQ2VudHJhbCB3aWxsIG9ubHkgc2VydmUgYW4gaW50ZXJuYWwgVExTIGNlcnRpZmljYXRlLCB3aGljaCBtZWFucyB0aGF0IHlvdSB3aWxsXG5uZWVkIHRvIGhhbmRsZSBUTFMgdGVybWluYXRpb24gYXQgdGhlIGluZ3Jlc3Mgb3IgbG9hZCBiYWxhbmNlciBsZXZlbC5cbklmIHlvdSB3YW50IHRvIHRlcm1pbmF0ZSBUTFMgaW4gQ2VudHJhbCBhbmQgc2VydmUgYSBjdXN0b20gc2VydmVyIGNlcnRpZmljYXRlLCB5b3UgY2FuIHNwZWNpZnlcbmEgc2VjcmV0IGNvbnRhaW5pbmcgdGhlIGNlcnRpZmljYXRlIGFuZCBwcml2YXRlIGtleSBoZXJlLiIsImRpc3BsYXlOYW1lIjoiVXNlci1mYWNpbmcgVExTIGNlcnRpZmljYXRlIHNlY3JldCIsInBhdGgiOiJjZW50cmFsLmRlZmF1bHRUTFNTZWNyZXQifSx7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyBtb25pdG9yaW5nIGVuZHBvaW50IGZvciBDZW50cmFsLiBUaGUgbW9uaXRvcmluZyBlbmRwb2ludFxuYWxsb3dzIG90aGVyIHNlcnZpY2VzIHRvIGNvbGxlY3QgbWV0cmljcyBmcm9tIENlbnRyYWwsIHByb3ZpZGVkIGluXG5Qcm9tZXRoZXVzIGNvbXBhdGlibGUgZm9ybWF0LiIsImRpc3BsYXlOYW1lIjoiTW9uaXRvcmluZyIsInBhdGgiOiJjZW50cmFsLm1vbml0b3JpbmcifSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIENlbnRyYWwgREIsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBkYXRhIHBlcnNpc3RlbmNlLiIsImRpc3BsYXlOYW1lIjoiQ2VudHJhbCBEQiBTZXR0aW5ncyIsInBhdGgiOiJjZW50cmFsLmRiIn0seyJkZXNjcmlwdGlvbiI6IkNvbmZpZ3VyZXMgdGVsZW1ldHJ5IHNldHRpbmdzIGZvciBDZW50cmFsLiBJZiBlbmFibGVkLCBDZW50cmFsIHRyYW5zbWl0cyB0ZWxlbWV0cnkgYW5kIGRpYWdub3N0aWNcbmRhdGEgdG8gYSByZW1vdGUgc3RvcmFnZSBiYWNrZW5kLiIsImRpc3BsYXlOYW1lIjoiVGVsZW1ldHJ5IiwicGF0aCI6ImNlbnRyYWwudGVsZW1ldHJ5IiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmhpZGRlbiJdfSx7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyByZXNvdXJjZXMgd2l0aGluIENlbnRyYWwgaW4gYSBkZWNsYXJhdGl2ZSBtYW5uZXIuIiwiZGlzcGxheU5hbWUiOiJEZWNsYXJhdGl2ZSBDb25maWd1cmF0aW9uIiwicGF0aCI6ImNlbnRyYWwuZGVjbGFyYXRpdmVDb25maWd1cmF0aW9uIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmhpZGRlbiJdfSx7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyB0aGUgZW5jcnlwdGlvbiBvZiBub3RpZmllciBzZWNyZXRzIHN0b3JlZCBpbiB0aGUgQ2VudHJhbCBEQi4iLCJkaXNwbGF5TmFtZSI6Ik5vdGlmaWVyIFNlY3JldHMgRW5jcnlwdGlvbiIsInBhdGgiOiJjZW50cmFsLm5vdGlmaWVyU2VjcmV0c0VuY3J5cHRpb24iLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsImRpc3BsYXlOYW1lIjoiUmVzb3VyY2VzIiwicGF0aCI6ImNlbnRyYWwucmVzb3VyY2VzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJlc291cmNlUmVxdWlyZW1lbnRzIl19LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwiZGlzcGxheU5hbWUiOiJOb2RlIFNlbGVjdG9yIiwicGF0aCI6ImNlbnRyYWwubm9kZVNlbGVjdG9yIn0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiZGlzcGxheU5hbWUiOiJUb2xlcmF0aW9ucyIsInBhdGgiOiJjZW50cmFsLnRvbGVyYXRpb25zIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnRvbGVyYXRpb25zIl19LHsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJkaXNwbGF5TmFtZSI6Ikhvc3QgQWxpYXNlcyIsInBhdGgiOiJjZW50cmFsLmhvc3RBbGlhc2VzIn0seyJkZXNjcmlwdGlvbiI6IkRpc2FibGUgYWRtaW4gcGFzc3dvcmQgZ2VuZXJhdGlvbi4gRG8gbm90IHVzZSB0aGlzIGZvciBmaXJzdC10aW1lIGluc3RhbGxhdGlvbnMsXG5hcyB5b3Ugd2lsbCBoYXZlIG5vIHdheSB0byBwZXJmb3JtIGluaXRpYWwgc2V0dXAgYW5kIGNvbmZpZ3VyYXRpb24gb2YgYWx0ZXJuYXRpdmUgYXV0aGVudGljYXRpb24gbWV0aG9kcy4iLCJkaXNwbGF5TmFtZSI6IkFkbWluIFBhc3N3b3JkIEdlbmVyYXRpb24gRGlzYWJsZWQiLCJwYXRoIjoiY2VudHJhbC5hZG1pblBhc3N3b3JkR2VuZXJhdGlvbkRpc2FibGVkIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmhpZGRlbiJdfSx7ImRlc2NyaXB0aW9uIjoiVW51c2VkIGZpZWxkLiBUaGlzIGZpZWxkIGV4aXN0cyBzb2xlbHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgc3RhcnRpbmcgZnJvbSB2ZXJzaW9uIHY0LjYuMC4iLCJkaXNwbGF5TmFtZSI6IlBlcnNpc3RlbmNlIiwicGF0aCI6ImNlbnRyYWwucGVyc2lzdGVuY2UiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBzZWNyZXQuIiwiZGlzcGxheU5hbWUiOiJOYW1lIiwicGF0aCI6ImNlbnRyYWwuYWRtaW5QYXNzd29yZFNlY3JldC5uYW1lIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6aW8ua3ViZXJuZXRlczpTZWNyZXQiXX0seyJkZXNjcmlwdGlvbiI6IlNwZWNpZnkgYSBzZWNyZXQgdGhhdCBjb250YWlucyB0aGUgcGFzc3dvcmQgaW4gdGhlIFwicGFzc3dvcmRcIiBkYXRhIGl0ZW0uIFRoaXMgY2FuIG9ubHkgYmUgdXNlZCB3aGVuXG5zcGVjaWZ5aW5nIGEgY29ubmVjdGlvbiBzdHJpbmcgbWFudWFsbHkuXG5XaGVuIG9taXR0ZWQsIHRoZSBvcGVyYXRvciB3aWxsIGF1dG8tZ2VuZXJhdGUgYSBEQiBwYXNzd29yZCBhbmQgc3RvcmUgaXQgaW4gdGhlIFwicGFzc3dvcmRcIiBpdGVtXG5pbiB0aGUgXCJjZW50cmFsLWRiLXBhc3N3b3JkXCIgc2VjcmV0LiIsImRpc3BsYXlOYW1lIjoiQWRtaW5pc3RyYXRvciBQYXNzd29yZCIsInBhdGgiOiJjZW50cmFsLmRiLnBhc3N3b3JkU2VjcmV0In0seyJkZXNjcmlwdGlvbiI6IlNwZWNpZnkgYSBjb25uZWN0aW9uIHN0cmluZyB0aGF0IGNvcnJlc3BvbmRzIHRvIGEgZGF0YWJhc2UgbWFuYWdlZCBlbHNld2hlcmUuIElmIHNldCwgdGhlIG9wZXJhdG9yIHdpbGwgbm90IG1hbmFnZSB0aGUgQ2VudHJhbCBEQi5cbldoZW4gdXNpbmcgdGhpcyBvcHRpb24sIHlvdSBtdXN0IGV4cGxpY2l0bHkgc2V0IGEgcGFzc3dvcmQgc2VjcmV0OyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRpbmcgYSBwYXNzd29yZCB3aWxsIG5vdFxuYmUgc3VwcG9ydGVkLiIsImRpc3BsYXlOYW1lIjoiQ29ubmVjdGlvbiBTdHJpbmciLCJwYXRoIjoiY2VudHJhbC5kYi5jb25uZWN0aW9uU3RyaW5nIn0seyJkZXNjcmlwdGlvbiI6IkNvbmZpZ3VyZXMgaG93IENlbnRyYWwgREIgc2hvdWxkIHN0b3JlIGl0cyBwZXJzaXN0ZW50IGRhdGEuIFlvdSBjYW4gY2hvb3NlIGJldHdlZW4gdXNpbmcgYSBwZXJzaXN0ZW50XG52b2x1bWUgY2xhaW0gKHJlY29tbWVuZGVkIGRlZmF1bHQpLCBhbmQgYSBob3N0IHBhdGguIiwiZGlzcGxheU5hbWUiOiJQZXJzaXN0ZW5jZSIsInBhdGgiOiJjZW50cmFsLmRiLnBlcnNpc3RlbmNlIn0seyJkZXNjcmlwdGlvbiI6IkNvbmZpZyBtYXAgY29udGFpbmluZyBwb3N0Z3Jlc3FsLmNvbmYgYW5kIHBnX2hiYS5jb25mIHRoYXQgd2lsbCBiZSB1c2VkIGlmIG1vZGlmaWNhdGlvbnMgbmVlZCB0byBiZSBhcHBsaWVkLiIsImRpc3BsYXlOYW1lIjoiQ29uZmlnIG1hcCB0aGF0IHdpbGwgb3ZlcnJpZGUgcG9zdGdyZXNxbC5jb25mIGFuZCBwZ19oYmEuY29uZiIsInBhdGgiOiJjZW50cmFsLmRiLmNvbmZpZ092ZXJyaWRlIn0seyJkZXNjcmlwdGlvbiI6IkNvbmZpZ3VyZXMgdGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gcG9vbCBzaXplLiIsImRpc3BsYXlOYW1lIjoiRGF0YWJhc2UgQ29ubmVjdGlvbiBQb29sIFNpemUgU2V0dGluZ3MiLCJwYXRoIjoiY2VudHJhbC5kYi5jb25uZWN0aW9uUG9vbFNpemUifSx7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJkaXNwbGF5TmFtZSI6IlJlc291cmNlcyIsInBhdGgiOiJjZW50cmFsLmRiLnJlc291cmNlcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpyZXNvdXJjZVJlcXVpcmVtZW50cyJdfSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsImRpc3BsYXlOYW1lIjoiTm9kZSBTZWxlY3RvciIsInBhdGgiOiJjZW50cmFsLmRiLm5vZGVTZWxlY3RvciJ9LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsImRpc3BsYXlOYW1lIjoiVG9sZXJhdGlvbnMiLCJwYXRoIjoiY2VudHJhbC5kYi50b2xlcmF0aW9ucyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTp0b2xlcmF0aW9ucyJdfSx7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiZGlzcGxheU5hbWUiOiJIb3N0IEFsaWFzZXMiLCJwYXRoIjoiY2VudHJhbC5kYi5ob3N0QWxpYXNlcyJ9LHsiZGVzY3JpcHRpb24iOiJPYnNvbGV0ZSBmaWVsZC5cblRoaXMgZmllbGQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuIiwiZGlzcGxheU5hbWUiOiJJcyBFbmFibGVkIiwicGF0aCI6ImNlbnRyYWwuZGIuaXNFbmFibGVkIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmhpZGRlbiJdfSx7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIHJlZmVyZW5jZWQgY29uZmlnIG1hcC4iLCJkaXNwbGF5TmFtZSI6Ik5hbWUiLCJwYXRoIjoiY2VudHJhbC5kYi5jb25maWdPdmVycmlkZS5uYW1lIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6aW8ua3ViZXJuZXRlczpDb25maWdNYXAiXX0seyJkZXNjcmlwdGlvbiI6Ik1heGltdW0gbnVtYmVyIG9mIGNvbm5lY3Rpb25zIGluIHRoZSBjb25uZWN0aW9uIHBvb2wuXG5UaGUgZGVmYXVsdCBpczogOTAuIiwiZGlzcGxheU5hbWUiOiJNYXhpbXVtIENvbm5lY3Rpb25zIiwicGF0aCI6ImNlbnRyYWwuZGIuY29ubmVjdGlvblBvb2xTaXplLm1heENvbm5lY3Rpb25zIn0seyJkZXNjcmlwdGlvbiI6Ik1pbmltdW0gbnVtYmVyIG9mIGNvbm5lY3Rpb25zIGluIHRoZSBjb25uZWN0aW9uIHBvb2wuXG5UaGUgZGVmYXVsdCBpczogMTAuIiwiZGlzcGxheU5hbWUiOiJNaW5pbXVtIENvbm5lY3Rpb25zIiwicGF0aCI6ImNlbnRyYWwuZGIuY29ubmVjdGlvblBvb2xTaXplLm1pbkNvbm5lY3Rpb25zIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSByZWZlcmVuY2VkIHNlY3JldC4iLCJkaXNwbGF5TmFtZSI6Ik5hbWUiLCJwYXRoIjoiY2VudHJhbC5kYi5wYXNzd29yZFNlY3JldC5uYW1lIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6aW8ua3ViZXJuZXRlczpTZWNyZXQiXX0seyJkZXNjcmlwdGlvbiI6IlVzZXMgYSBLdWJlcm5ldGVzIHBlcnNpc3RlbnQgdm9sdW1lIGNsYWltIChQVkMpIHRvIG1hbmFnZSB0aGUgc3RvcmFnZSBsb2NhdGlvbiBvZiBwZXJzaXN0ZW50IGRhdGEuXG5SZWNvbW1lbmRlZCBmb3IgbW9zdCB1c2Vycy4iLCJkaXNwbGF5TmFtZSI6IlBlcnNpc3RlbnQgdm9sdW1lIGNsYWltIiwicGF0aCI6ImNlbnRyYWwuZGIucGVyc2lzdGVuY2UucGVyc2lzdGVudFZvbHVtZUNsYWltIn0seyJkZXNjcmlwdGlvbiI6IlN0b3JlcyBwZXJzaXN0ZW50IGRhdGEgaW4gYSBkaXJlY3Rvcnkgb24gdGhlIGhvc3QuIFRoaXMgaXMgbm90IHJlY29tbWVuZGVkLCBhbmQgc2hvdWxkIG9ubHlcbmJlIHVzZWQgdG9nZXRoZXIgd2l0aCBhIG5vZGUgc2VsZWN0b3IgKG9ubHkgYXZhaWxhYmxlIGluIFlBTUwgdmlldykuIiwiZGlzcGxheU5hbWUiOiJIb3N0IHBhdGgiLCJwYXRoIjoiY2VudHJhbC5kYi5wZXJzaXN0ZW5jZS5ob3N0UGF0aCJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgcGF0aCBvbiB0aGUgaG9zdCBydW5uaW5nIENlbnRyYWwuIiwiZGlzcGxheU5hbWUiOiJQYXRoIiwicGF0aCI6ImNlbnRyYWwuZGIucGVyc2lzdGVuY2UuaG9zdFBhdGgucGF0aCJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgUFZDIHRvIG1hbmFnZSBwZXJzaXN0ZW50IGRhdGEuIElmIG5vIFBWQyB3aXRoIHRoZSBnaXZlbiBuYW1lIGV4aXN0cywgaXQgd2lsbCBiZVxuY3JlYXRlZC5cblRoZSBkZWZhdWx0IGlzOiBjZW50cmFsLWRiLiIsImRpc3BsYXlOYW1lIjoiQ2xhaW0gTmFtZSIsInBhdGgiOiJjZW50cmFsLmRiLnBlcnNpc3RlbmNlLnBlcnNpc3RlbnRWb2x1bWVDbGFpbS5jbGFpbU5hbWUifSx7ImRlc2NyaXB0aW9uIjoiVGhlIHNpemUgb2YgdGhlIHBlcnNpc3RlbnQgdm9sdW1lIHdoZW4gY3JlYXRlZCB0aHJvdWdoIHRoZSBjbGFpbS4gSWYgYSBjbGFpbSB3YXMgYXV0b21hdGljYWxseSBjcmVhdGVkLFxudGhpcyBjYW4gYmUgdXNlZCBhZnRlciB0aGUgaW5pdGlhbCBkZXBsb3ltZW50IHRvIHJlc2l6ZSAoZ3JvdykgdGhlIHZvbHVtZSAob25seSBzdXBwb3J0ZWQgYnkgc29tZVxuc3RvcmFnZSBjbGFzcyBjb250cm9sbGVycykuIiwiZGlzcGxheU5hbWUiOiJTaXplIiwicGF0aCI6ImNlbnRyYWwuZGIucGVyc2lzdGVuY2UucGVyc2lzdGVudFZvbHVtZUNsYWltLnNpemUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dGV4dCJdfSx7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIHN0b3JhZ2UgY2xhc3MgdG8gdXNlIGZvciB0aGUgUFZDLiBJZiB5b3VyIGNsdXN0ZXIgaXMgbm90IGNvbmZpZ3VyZWQgd2l0aCBhIGRlZmF1bHQgc3RvcmFnZVxuY2xhc3MsIHlvdSBtdXN0IHNlbGVjdCBhIHZhbHVlIGhlcmUuIiwiZGlzcGxheU5hbWUiOiJTdG9yYWdlIENsYXNzIiwicGF0aCI6ImNlbnRyYWwuZGIucGVyc2lzdGVuY2UucGVyc2lzdGVudFZvbHVtZUNsYWltLnN0b3JhZ2VDbGFzc05hbWUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjppby5rdWJlcm5ldGVzOlN0b3JhZ2VDbGFzcyJdfSx7ImRlc2NyaXB0aW9uIjoiTGlzdCBvZiBjb25maWcgbWFwcyBjb250YWluaW5nIGRlY2xhcmF0aXZlIGNvbmZpZ3VyYXRpb24uIiwiZGlzcGxheU5hbWUiOiJDb25maWcgbWFwcyBjb250YWluaW5nIGRlY2xhcmF0aXZlIGNvbmZpZ3VyYXRpb24iLCJwYXRoIjoiY2VudHJhbC5kZWNsYXJhdGl2ZUNvbmZpZ3VyYXRpb24uY29uZmlnTWFwcyJ9LHsiZGVzY3JpcHRpb24iOiJMaXN0IG9mIHNlY3JldHMgY29udGFpbmluZyBkZWNsYXJhdGl2ZSBjb25maWd1cmF0aW9uLiIsImRpc3BsYXlOYW1lIjoiU2VjcmV0cyBjb250YWluaW5nIGRlY2xhcmF0aXZlIGNvbmZpZ3VyYXRpb24iLCJwYXRoIjoiY2VudHJhbC5kZWNsYXJhdGl2ZUNvbmZpZ3VyYXRpb24uc2VjcmV0cyJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgcmVmZXJlbmNlZCBjb25maWcgbWFwLiIsImRpc3BsYXlOYW1lIjoiTmFtZSIsInBhdGgiOiJjZW50cmFsLmRlY2xhcmF0aXZlQ29uZmlndXJhdGlvbi5jb25maWdNYXBzWzBdLm5hbWUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjppby5rdWJlcm5ldGVzOkNvbmZpZ01hcCJdfSx7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIHJlZmVyZW5jZWQgc2VjcmV0LiIsImRpc3BsYXlOYW1lIjoiTmFtZSIsInBhdGgiOiJjZW50cmFsLmRlY2xhcmF0aXZlQ29uZmlndXJhdGlvbi5zZWNyZXRzWzBdLm5hbWUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjppby5rdWJlcm5ldGVzOlNlY3JldCJdfSx7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIHJlZmVyZW5jZWQgc2VjcmV0LiIsImRpc3BsYXlOYW1lIjoiTmFtZSIsInBhdGgiOiJjZW50cmFsLmRlZmF1bHRUTFNTZWNyZXQubmFtZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmlvLmt1YmVybmV0ZXM6U2VjcmV0Il19LHsiZGVzY3JpcHRpb24iOiJFeHBvc2UgQ2VudHJhbCB0aHJvdWdoIGFuIE9wZW5TaGlmdCByb3V0ZS4iLCJkaXNwbGF5TmFtZSI6IlJvdXRlIiwicGF0aCI6ImNlbnRyYWwuZXhwb3N1cmUucm91dGUifSx7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIENlbnRyYWwgdGhyb3VnaCBhIGxvYWQgYmFsYW5jZXIgc2VydmljZS4iLCJkaXNwbGF5TmFtZSI6IkxvYWQgQmFsYW5jZXIiLCJwYXRoIjoiY2VudHJhbC5leHBvc3VyZS5sb2FkQmFsYW5jZXIifSx7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIENlbnRyYWwgdGhyb3VnaCBhIG5vZGUgcG9ydC4iLCJkaXNwbGF5TmFtZSI6Ik5vZGUgUG9ydCIsInBhdGgiOiJjZW50cmFsLmV4cG9zdXJlLm5vZGVQb3J0In0seyJkZXNjcmlwdGlvbiI6IlRoZSBkZWZhdWx0IGlzOiBmYWxzZS4iLCJkaXNwbGF5TmFtZSI6IkVuYWJsZWQiLCJwYXRoIjoiY2VudHJhbC5leHBvc3VyZS5sb2FkQmFsYW5jZXIuZW5hYmxlZCJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogNDQzLiIsImRpc3BsYXlOYW1lIjoiUG9ydCIsInBhdGgiOiJjZW50cmFsLmV4cG9zdXJlLmxvYWRCYWxhbmNlci5wb3J0IiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpjZW50cmFsLmV4cG9zdXJlLmxvYWRCYWxhbmNlci5lbmFibGVkOnRydWUiXX0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSBoYXZlIGEgc3RhdGljIElQIGFkZHJlc3MgcmVzZXJ2ZWQgZm9yIHlvdXIgbG9hZCBiYWxhbmNlciwgeW91IGNhbiBlbnRlciBpdCBoZXJlLiIsImRpc3BsYXlOYW1lIjoiSVAiLCJwYXRoIjoiY2VudHJhbC5leHBvc3VyZS5sb2FkQmFsYW5jZXIuaXAiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6ZmllbGREZXBlbmRlbmN5OmNlbnRyYWwuZXhwb3N1cmUubG9hZEJhbGFuY2VyLmVuYWJsZWQ6dHJ1ZSJdfSx7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IGZhbHNlLiIsImRpc3BsYXlOYW1lIjoiRW5hYmxlZCIsInBhdGgiOiJjZW50cmFsLmV4cG9zdXJlLm5vZGVQb3J0LmVuYWJsZWQifSx7ImRlc2NyaXB0aW9uIjoiVXNlIHRoaXMgdG8gc3BlY2lmeSBhbiBleHBsaWNpdCBub2RlIHBvcnQuIE1vc3QgdXNlcnMgc2hvdWxkIGxlYXZlIHRoaXMgZW1wdHkuIiwiZGlzcGxheU5hbWUiOiJQb3J0IiwicGF0aCI6ImNlbnRyYWwuZXhwb3N1cmUubm9kZVBvcnQucG9ydCIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6Y2VudHJhbC5leHBvc3VyZS5ub2RlUG9ydC5lbmFibGVkOnRydWUiXX0seyJkZXNjcmlwdGlvbiI6IkV4cG9zZSBDZW50cmFsIHdpdGggYSBwYXNzdGhyb3VnaCByb3V0ZS5cblRoZSBkZWZhdWx0IGlzOiBmYWxzZS4iLCJkaXNwbGF5TmFtZSI6IkVuYWJsZWQiLCJwYXRoIjoiY2VudHJhbC5leHBvc3VyZS5yb3V0ZS5lbmFibGVkIn0seyJkZXNjcmlwdGlvbiI6IlNwZWNpZnkgYSBjdXN0b20gaG9zdG5hbWUgZm9yIHRoZSBDZW50cmFsIHJvdXRlLlxuSWYgdW5zcGVjaWZpZWQsIGFuIGFwcHJvcHJpYXRlIGRlZmF1bHQgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNob3NlbiBieSB0aGUgT3BlblNoaWZ0IHJvdXRlIG9wZXJhdG9yLiIsImRpc3BsYXlOYW1lIjoiSG9zdCIsInBhdGgiOiJjZW50cmFsLmV4cG9zdXJlLnJvdXRlLmhvc3QifSx7ImRlc2NyaXB0aW9uIjoiU2V0IHVwIGEgQ2VudHJhbCByb3V0ZSB3aXRoIHJlZW5jcnlwdCBUTFMgdGVybWluYXRpb24uXG5Gb3IgcmVlbmNyeXB0IHJvdXRlcywgdGhlIHJlcXVlc3QgaXMgdGVybWluYXRlZCBvbiB0aGUgT3BlblNoaWZ0IHJvdXRlciB3aXRoIGEgY3VzdG9tIGNlcnRpZmljYXRlLlxuVGhlIHJlcXVlc3QgaXMgdGhlbiByZWVuY3J5cHRlZCBieSB0aGUgT3BlblNoaWZ0IHJvdXRlciBhbmQgc2VudCB0byBDZW50cmFsLlxuW3VzZXJdIC0tVExTLS1cdTAwM2UgW09wZW5TaGlmdCByb3V0ZXJdIC0tVExTLS1cdTAwM2UgW0NlbnRyYWxdIiwiZGlzcGxheU5hbWUiOiJSZS1FbmNyeXB0IFJvdXRlIiwicGF0aCI6ImNlbnRyYWwuZXhwb3N1cmUucm91dGUucmVlbmNyeXB0In0seyJkZXNjcmlwdGlvbiI6IkV4cG9zZSBDZW50cmFsIHdpdGggYSByZWVuY3J5cHQgcm91dGUuXG5TaG91bGQgbm90IGJlIHVzZWQgZm9yIHNlbnNvciBjb21tdW5pY2F0aW9uLlxuVGhlIGRlZmF1bHQgaXM6IGZhbHNlLiIsImRpc3BsYXlOYW1lIjoiRW5hYmxlZCIsInBhdGgiOiJjZW50cmFsLmV4cG9zdXJlLnJvdXRlLnJlZW5jcnlwdC5lbmFibGVkIn0seyJkZXNjcmlwdGlvbiI6IlNwZWNpZnkgYSBjdXN0b20gaG9zdG5hbWUgZm9yIHRoZSBDZW50cmFsIHJlZW5jcnlwdCByb3V0ZS5cbklmIHVuc3BlY2lmaWVkLCBhbiBhcHByb3ByaWF0ZSBkZWZhdWx0IHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjaG9zZW4gYnkgdGhlIE9wZW5TaGlmdCByb3V0ZSBvcGVyYXRvci4iLCJkaXNwbGF5TmFtZSI6Ikhvc3QiLCJwYXRoIjoiY2VudHJhbC5leHBvc3VyZS5yb3V0ZS5yZWVuY3J5cHQuaG9zdCJ9LHsiZGVzY3JpcHRpb24iOiJUTFMgc2V0dGluZ3MgZm9yIGV4cG9zaW5nIENlbnRyYWwgdmlhIGEgcmVlbmNyeXB0IFJvdXRlLiIsImRpc3BsYXlOYW1lIjoiVExTIFNldHRpbmdzIiwicGF0aCI6ImNlbnRyYWwuZXhwb3N1cmUucm91dGUucmVlbmNyeXB0LnRscyJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgUEVNIGVuY29kZWQgY2VydGlmaWNhdGUgY2hhaW4gdGhhdCBtYXkgYmUgdXNlZCB0byBlc3RhYmxpc2ggYSBjb21wbGV0ZSBjaGFpbiBvZiB0cnVzdC5cbkRlZmF1bHRzIHRvIHRoZSBPcGVuU2hpZnQgY2VydGlmaWNhdGUgYXV0aG9yaXR5LiIsImRpc3BsYXlOYW1lIjoiQ0EgQ2VydGlmaWNhdGUiLCJwYXRoIjoiY2VudHJhbC5leHBvc3VyZS5yb3V0ZS5yZWVuY3J5cHQudGxzLmNhQ2VydGlmaWNhdGUifSx7ImRlc2NyaXB0aW9uIjoiVGhlIFBFTSBlbmNvZGVkIGNlcnRpZmljYXRlIHRoYXQgaXMgc2VydmVkIG9uIHRoZSByb3V0ZS4gTXVzdCBiZSBhIHNpbmdsZSBzZXJ2aW5nXG5jZXJ0aWZpY2F0ZSBpbnN0ZWFkIG9mIGEgY2VydGlmaWNhdGUgY2hhaW4uXG5EZWZhdWx0cyB0byBhIGNlcnRpZmljYXRlIHNpZ25lZCBieSB0aGUgT3BlblNoaWZ0IGNlcnRpZmljYXRlIGF1dGhvcml0eS4iLCJkaXNwbGF5TmFtZSI6IkNlcnRpZmljYXRlIiwicGF0aCI6ImNlbnRyYWwuZXhwb3N1cmUucm91dGUucmVlbmNyeXB0LnRscy5jZXJ0aWZpY2F0ZSJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgQ0EgY2VydGlmaWNhdGUgb2YgdGhlIGZpbmFsIGRlc3RpbmF0aW9uLCBpLmUuIG9mIENlbnRyYWwuXG5Vc2VkIGJ5IHRoZSBPcGVuU2hpZnQgcm91dGVyIGZvciBoZWFsdGggY2hlY2tzIG9uIHRoZSBzZWN1cmUgY29ubmVjdGlvbi5cbkRlZmF1bHRzIHRvIHRoZSBDZW50cmFsIGNlcnRpZmljYXRlIGF1dGhvcml0eS4iLCJkaXNwbGF5TmFtZSI6IkRlc3RpbmF0aW9uIENBIENlcnRpZmljYXRlIiwicGF0aCI6ImNlbnRyYWwuZXhwb3N1cmUucm91dGUucmVlbmNyeXB0LnRscy5kZXN0aW5hdGlvbkNBQ2VydGlmaWNhdGUifSx7ImRlc2NyaXB0aW9uIjoiVGhlIFBFTSBlbmNvZGVkIHByaXZhdGUga2V5IG9mIHRoZSBjZXJ0aWZpY2F0ZSB0aGF0IGlzIHNlcnZlZCBvbiB0aGUgcm91dGUuXG5EZWZhdWx0cyB0byBhIGNlcnRpZmljYXRlIHNpZ25lZCBieSB0aGUgT3BlblNoaWZ0IGNlcnRpZmljYXRlIGF1dGhvcml0eS4iLCJkaXNwbGF5TmFtZSI6IlByaXZhdGUgS2V5IiwicGF0aCI6ImNlbnRyYWwuZXhwb3N1cmUucm91dGUucmVlbmNyeXB0LnRscy5rZXkifSx7ImRlc2NyaXB0aW9uIjoiRXhwb3NlIHRoZSBtb25pdG9yaW5nIGVuZHBvaW50LiBBIG5ldyBzZXJ2aWNlLCBcIm1vbml0b3JpbmdcIixcbndpdGggcG9ydCA5MDkwLCB3aWxsIGJlIGNyZWF0ZWQgYXMgd2VsbCBhcyBhIG5ldHdvcmsgcG9saWN5IGFsbG93aW5nXG5pbmJvdW5kIGNvbm5lY3Rpb25zIHRvIHRoZSBwb3J0LiIsImRpc3BsYXlOYW1lIjoiRXhwb3NlIEVuZHBvaW50IiwicGF0aCI6ImNlbnRyYWwubW9uaXRvcmluZy5leHBvc2VFbmRwb2ludCJ9LHsiZGVzY3JpcHRpb24iOiJFbmFibGVzIHRoZSBlbmNyeXB0aW9uIG9mIG5vdGlmaWVyIHNlY3JldHMgc3RvcmVkIGluIHRoZSBDZW50cmFsIERCLlxuVGhlIGRlZmF1bHQgaXM6IGZhbHNlLiIsImRpc3BsYXlOYW1lIjoiRW5hYmxlZCIsInBhdGgiOiJjZW50cmFsLm5vdGlmaWVyU2VjcmV0c0VuY3J5cHRpb24uZW5hYmxlZCJ9LHsiZGVzY3JpcHRpb24iOiJPYnNvbGV0ZSB1bnVzZWQgZmllbGQuIiwiZGlzcGxheU5hbWUiOiJIb3N0IFBhdGgiLCJwYXRoIjoiY2VudHJhbC5wZXJzaXN0ZW5jZS5ob3N0UGF0aCIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpoaWRkZW4iXX0seyJkZXNjcmlwdGlvbiI6Ik9ic29sZXRlIHVudXNlZCBmaWVsZC4iLCJkaXNwbGF5TmFtZSI6IlBlcnNpc3RlbnQgVm9sdW1lIENsYWltIiwicGF0aCI6ImNlbnRyYWwucGVyc2lzdGVuY2UucGVyc2lzdGVudFZvbHVtZUNsYWltIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmhpZGRlbiJdfSx7ImRlc2NyaXB0aW9uIjoiVGhlIHBhdGggb24gdGhlIGhvc3QgcnVubmluZyBDZW50cmFsLiIsImRpc3BsYXlOYW1lIjoiUGF0aCIsInBhdGgiOiJjZW50cmFsLnBlcnNpc3RlbmNlLmhvc3RQYXRoLnBhdGgifSx7ImRlc2NyaXB0aW9uIjoiT2Jzb2xldGUgdW51c2VkIGZpZWxkLiIsImRpc3BsYXlOYW1lIjoiQ2xhaW0gTmFtZSIsInBhdGgiOiJjZW50cmFsLnBlcnNpc3RlbmNlLnBlcnNpc3RlbnRWb2x1bWVDbGFpbS5jbGFpbU5hbWUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJPYnNvbGV0ZSB1bnVzZWQgZmllbGQuIiwiZGlzcGxheU5hbWUiOiJTaXplIiwicGF0aCI6ImNlbnRyYWwucGVyc2lzdGVuY2UucGVyc2lzdGVudFZvbHVtZUNsYWltLnNpemUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJPYnNvbGV0ZSB1bnVzZWQgZmllbGQuIiwiZGlzcGxheU5hbWUiOiJTdG9yYWdlIENsYXNzIE5hbWUiLCJwYXRoIjoiY2VudHJhbC5wZXJzaXN0ZW5jZS5wZXJzaXN0ZW50Vm9sdW1lQ2xhaW0uc3RvcmFnZUNsYXNzTmFtZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpoaWRkZW4iXX0seyJkZXNjcmlwdGlvbiI6IlNwZWNpZmllcyB3aGV0aGVyIFRlbGVtZXRyeSBpcyBlbmFibGVkLlxuVGhlIGRlZmF1bHQgaXM6IHRydWUuIiwiZGlzcGxheU5hbWUiOiJFbmFibGVkIiwicGF0aCI6ImNlbnRyYWwudGVsZW1ldHJ5LmVuYWJsZWQiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6Ym9vbGVhblN3aXRjaCJdfSx7ImRlc2NyaXB0aW9uIjoiRGVmaW5lcyB0aGUgdGVsZW1ldHJ5IHN0b3JhZ2UgYmFja2VuZCBmb3IgQ2VudHJhbC4iLCJkaXNwbGF5TmFtZSI6IlN0b3JhZ2UiLCJwYXRoIjoiY2VudHJhbC50ZWxlbWV0cnkuc3RvcmFnZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6Y2VudHJhbC50ZWxlbWV0cnkuZW5hYmxlZDp0cnVlIl19LHsiZGVzY3JpcHRpb24iOiJTdG9yYWdlIEFQSSBlbmRwb2ludC4iLCJkaXNwbGF5TmFtZSI6IkVuZHBvaW50IiwicGF0aCI6ImNlbnRyYWwudGVsZW1ldHJ5LnN0b3JhZ2UuZW5kcG9pbnQifSx7ImRlc2NyaXB0aW9uIjoiU3RvcmFnZSBBUEkga2V5LiBJZiBub3Qgc2V0LCB0ZWxlbWV0cnkgaXMgZGlzYWJsZWQuIiwiZGlzcGxheU5hbWUiOiJLZXkiLCJwYXRoIjoiY2VudHJhbC50ZWxlbWV0cnkuc3RvcmFnZS5rZXkifSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdG8gZGVwbG95IHRoZSBDb25maWcgYXMgQ29kZSBjb21wb25lbnQsIHNldCB0aGlzIHRvIFwiRW5hYmxlZFwiXG5UaGUgZGVmYXVsdCBpczogRW5hYmxlZC4iLCJkaXNwbGF5TmFtZSI6IkNvbmZpZyBhcyBDb2RlIGNvbXBvbmVudCIsInBhdGgiOiJjb25maWdBc0NvZGUuY29uZmlnQXNDb2RlQ29tcG9uZW50In0seyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwiZGlzcGxheU5hbWUiOiJSZXNvdXJjZXMiLCJwYXRoIjoiY29uZmlnQXNDb2RlLnJlc291cmNlcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpyZXNvdXJjZVJlcXVpcmVtZW50cyJdfSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsImRpc3BsYXlOYW1lIjoiTm9kZSBTZWxlY3RvciIsInBhdGgiOiJjb25maWdBc0NvZGUubm9kZVNlbGVjdG9yIn0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiZGlzcGxheU5hbWUiOiJUb2xlcmF0aW9ucyIsInBhdGgiOiJjb25maWdBc0NvZGUudG9sZXJhdGlvbnMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dG9sZXJhdGlvbnMiXX0seyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsImRpc3BsYXlOYW1lIjoiSG9zdCBBbGlhc2VzIiwicGF0aCI6ImNvbmZpZ0FzQ29kZS5ob3N0QWxpYXNlcyJ9LHsiZGVzY3JpcHRpb24iOiJDdXN0b20gbGFiZWxzIHRvIHNldCBvbiBhbGwgbWFuYWdlZCBvYmplY3RzLiIsImRpc3BsYXlOYW1lIjoiTGFiZWxzIiwicGF0aCI6ImN1c3RvbWl6ZS5sYWJlbHMifSx7ImRlc2NyaXB0aW9uIjoiQ3VzdG9tIGFubm90YXRpb25zIHRvIHNldCBvbiBhbGwgbWFuYWdlZCBvYmplY3RzLiIsImRpc3BsYXlOYW1lIjoiQW5ub3RhdGlvbnMiLCJwYXRoIjoiY3VzdG9taXplLmFubm90YXRpb25zIn0seyJkZXNjcmlwdGlvbiI6IkN1c3RvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2V0IG9uIG1hbmFnZWQgcG9kcycgY29udGFpbmVycy4iLCJkaXNwbGF5TmFtZSI6IkVudmlyb25tZW50IFZhcmlhYmxlcyIsInBhdGgiOiJjdXN0b21pemUuZW52VmFycyJ9LHsiZGVzY3JpcHRpb24iOiJHbG9iYWwgbm9kZVNlbGVjdG9yIGFuZCB0b2xlcmF0aW9ucyBmb3IgRGVwbG95bWVudC1iYXNlZCBjb21wb25lbnRzLiBEYWVtb25TZXRzIChDb2xsZWN0b3IpIGFyZSBub3QgYWZmZWN0ZWQuXG5Db21wb25lbnQtbGV2ZWwgbm9kZVNlbGVjdG9yIGFuZCB0b2xlcmF0aW9ucyBzZXR0aW5ncyBvdmVycmlkZSB0aGVzZSBkZWZhdWx0cyBvbiBhIGZpZWxkLWJ5LWZpZWxkIGJhc2lzLiIsImRpc3BsYXlOYW1lIjoiRGVwbG95bWVudCBEZWZhdWx0cyIsInBhdGgiOiJjdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzIn0seyJkZXNjcmlwdGlvbiI6IlBpbiBhbGwgRGVwbG95bWVudC1iYXNlZCBjb21wb25lbnRzIHRvIHNwZWNpZmljIG5vZGUgdHlwZXMuIFRoaXMgaXMgYSBjb252ZW5pZW5jZSBzZXR0aW5nXG50aGF0IGF1dG9tYXRpY2FsbHkgY29uZmlndXJlcyBib3RoIG5vZGVTZWxlY3RvciBhbmQgdG9sZXJhdGlvbnMgd2l0aCBwcmVkZWZpbmVkIHZhbHVlcy5cblVzZSB0aGlzIGZvciBjb21tb24gc2NlbmFyaW9zIGxpa2UgcnVubmluZyBvbiBPcGVuU2hpZnQgaW5mcmFzdHJ1Y3R1cmUgbm9kZXMuXG5Gb3IgY3VzdG9tIG5vZGUgc2VsZWN0aW9uLCB1c2UgdGhlIGV4cGxpY2l0IG5vZGVTZWxlY3RvciBhbmQgdG9sZXJhdGlvbnMgZmllbGRzIGluc3RlYWQuXG5DYW5ub3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIG5vZGVTZWxlY3RvciBvciB0b2xlcmF0aW9ucyBmaWVsZHMuXG5UaGUgZGVmYXVsdCBpczogTm9uZS4iLCJkaXNwbGF5TmFtZSI6IlBpbiBUbyBOb2RlcyIsInBhdGgiOiJjdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnBpblRvTm9kZXMifSx7ImRlc2NyaXB0aW9uIjoiRGVmYXVsdCBub2RlU2VsZWN0b3IgYXBwbGllZCB0byBhbGwgRGVwbG95bWVudC1iYXNlZCBjb21wb25lbnRzLiBVc2UgdGhpcyBmb3IgY3VzdG9tIG5vZGVcbnNlbGVjdGlvbiBjcml0ZXJpYS5cbkNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggcGluVG9Ob2Rlcy4iLCJkaXNwbGF5TmFtZSI6Ik5vZGUgU2VsZWN0b3IiLCJwYXRoIjoiY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IifSx7ImRlc2NyaXB0aW9uIjoiRGVmYXVsdCB0b2xlcmF0aW9ucyBhcHBsaWVkIHRvIGFsbCBEZXBsb3ltZW50LWJhc2VkIGNvbXBvbmVudHMuIFVzZSB0aGlzIHdoZW4geW91ciB0YXJnZXRcbm5vZGVzIGhhdmUgY3VzdG9tIHRhaW50cyB0aGF0IHBvZHMgbXVzdCB0b2xlcmF0ZS5cbkNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggcGluVG9Ob2Rlcy4iLCJkaXNwbGF5TmFtZSI6IlRvbGVyYXRpb25zIiwicGF0aCI6ImN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMifSx7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyB3aGV0aGVyIFJlZCBIYXQgQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eSBzaG91bGQgcnVuIGluIG9ubGluZSBvciBvZmZsaW5lIChkaXNjb25uZWN0ZWQpIG1vZGUuXG5JbiBvZmZsaW5lIG1vZGUsIGF1dG9tYXRpYyB1cGRhdGVzIG9mIHZ1bG5lcmFiaWxpdHkgZGVmaW5pdGlvbnMgYW5kIGtlcm5lbCBtb2R1bGVzIGFyZSBkaXNhYmxlZC5cblRoZSBkZWZhdWx0IGlzOiBPbmxpbmUuIiwiZGlzcGxheU5hbWUiOiJDb25uZWN0aXZpdHkgUG9saWN5IiwicGF0aCI6ImVncmVzcy5jb25uZWN0aXZpdHlQb2xpY3kifSx7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIHJlZmVyZW5jZWQgc2VjcmV0LiIsImRpc3BsYXlOYW1lIjoiTmFtZSIsInBhdGgiOiJpbWFnZVB1bGxTZWNyZXRzWzBdLm5hbWUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjppby5rdWJlcm5ldGVzOlNlY3JldCJdfSx7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cblNldCB0aGlzIHRvIHRydWUgdG8gaGF2ZSB0aGUgb3BlcmF0b3IgY3JlYXRlIFNlY3VyaXR5Q29udGV4dENvbnN0cmFpbnRzIChTQ0NzKSBmb3IgdGhlIG9wZXJhbmRzLiBUaGlzXG5pc24ndCB1c3VhbGx5IG5lZWRlZCwgYW5kIG1heSBpbnRlcmZlcmUgd2l0aCBvdGhlciB3b3JrbG9hZHMuIiwiZGlzcGxheU5hbWUiOiJDcmVhdGUgU2VjdXJpdHlDb250ZXh0Q29uc3RyYWludHMgZm9yIE9wZXJhbmQiLCJwYXRoIjoibWlzYy5jcmVhdGVTQ0NzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmhpZGRlbiJdfSx7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IHRydWUuIiwiZGlzcGxheU5hbWUiOiJFbmFibGVkIiwicGF0aCI6Im1vbml0b3Jpbmcub3BlbnNoaWZ0LmVuYWJsZWQiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6Ym9vbGVhblN3aXRjaCJdfSx7ImRlc2NyaXB0aW9uIjoiVG8gcHJvdmlkZSBzZWN1cml0eSBhdCB0aGUgbmV0d29yayBsZXZlbCwgdGhlIEFDUyBPcGVyYXRvciBjcmVhdGVzIE5ldHdvcmtQb2xpY3kgcmVzb3VyY2VzIGJ5IGRlZmF1bHQuIElmIHlvdSB3YW50IHRvIG1hbmFnZSB5b3VyIG93biBOZXR3b3JrUG9saWN5IG9iamVjdHMgdGhlbiBzZXQgdGhpcyB0byBcIkRpc2FibGVkXCIuXG5UaGUgZGVmYXVsdCBpczogRW5hYmxlZC4iLCJkaXNwbGF5TmFtZSI6Ik5ldHdvcmsgUG9saWNpZXMiLCJwYXRoIjoibmV0d29yay5wb2xpY2llcyJ9LHsiZGVzY3JpcHRpb24iOiJSZXNvdXJjZSBBUEkgdmVyc2lvbi4iLCJkaXNwbGF5TmFtZSI6IkFQSSBWZXJzaW9uIiwicGF0aCI6Im92ZXJsYXlzWzBdLmFwaVZlcnNpb24ifSx7ImRlc2NyaXB0aW9uIjoiUmVzb3VyY2Uga2luZC4iLCJkaXNwbGF5TmFtZSI6IktpbmQiLCJwYXRoIjoib3ZlcmxheXNbMF0ua2luZCJ9LHsiZGVzY3JpcHRpb24iOiJOYW1lIG9mIHJlc291cmNlLiIsImRpc3BsYXlOYW1lIjoiTmFtZSIsInBhdGgiOiJvdmVybGF5c1swXS5uYW1lIn0seyJkZXNjcmlwdGlvbiI6Ik9wdGlvbmFsIG1hcmtzIHRoZSBvdmVybGF5IGFzIG9wdGlvbmFsLlxuV2hlbiBPcHRpb25hbCBpcyB0cnVlLCBhbmQgdGhlIHNwZWNpZmllZCByZXNvdXJjZSBkb2VzIG5vdCBleGlzdCBpbiB0aGUgb3V0cHV0IG1hbmlmZXN0cywgdGhlIG92ZXJsYXkgd2lsbCBiZSBza2lwcGVkLCBhbmQgYSB3YXJuaW5nIHdpbGwgYmUgbG9nZ2VkLlxuV2hlbiBPcHRpb25hbCBpcyBmYWxzZSwgYW5kIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3QgaW4gdGhlIG91dHB1dCBtYW5pZmVzdHMsIGFuIGVycm9yIHdpbGwgYmUgdGhyb3duLiIsImRpc3BsYXlOYW1lIjoiT3B0aW9uYWwiLCJwYXRoIjoib3ZlcmxheXNbMF0ub3B0aW9uYWwifSx7ImRlc2NyaXB0aW9uIjoiTGlzdCBvZiBwYXRjaGVzIHRvIGFwcGx5IHRvIHJlc291cmNlLiIsImRpc3BsYXlOYW1lIjoiUGF0Y2hlcyIsInBhdGgiOiJvdmVybGF5c1swXS5wYXRjaGVzIn0seyJkZXNjcmlwdGlvbiI6IlBhdGggb2YgdGhlIGZvcm0gYS5ba2V5MTp2YWx1ZTFdLmIuWzp2YWx1ZTJdXG5XaGVyZSBba2V5MTp2YWx1ZTFdIGlzIGEgc2VsZWN0b3IgZm9yIGEga2V5LXZhbHVlIHBhaXIgdG8gaWRlbnRpZnkgYSBsaXN0IGVsZW1lbnQgYW5kIFs6dmFsdWVdIGlzIGEgdmFsdWVcbnNlbGVjdG9yIHRvIGlkZW50aWZ5IGEgbGlzdCBlbGVtZW50IGluIGEgbGVhZiBsaXN0LlxuQWxsIHBhdGggaW50ZXJtZWRpYXRlIG5vZGVzIG11c3QgZXhpc3QuIiwiZGlzcGxheU5hbWUiOiJQYXRoIiwicGF0aCI6Im92ZXJsYXlzWzBdLnBhdGNoZXNbMF0ucGF0aCJ9LHsiZGVzY3JpcHRpb24iOiJWYWx1ZSB0byBhZGQsIGRlbGV0ZSBvciByZXBsYWNlLlxuRm9yIGFkZCwgdGhlIHBhdGggc2hvdWxkIGJlIGEgbmV3IGxlYWYuXG5Gb3IgZGVsZXRlLCB2YWx1ZSBzaG91bGQgYmUgdW5zZXQuXG5Gb3IgcmVwbGFjZSwgcGF0aCBzaG91bGQgcmVmZXJlbmNlIGFuIGV4aXN0aW5nIG5vZGUuXG5BbGwgdmFsdWVzIGFyZSBzdHJpbmdzIGJ1dCBhcmUgY29udmVydGVkIGludG8gYXBwcm9wcmlhdGUgdHlwZSBiYXNlZCBvbiBzY2hlbWEuIiwiZGlzcGxheU5hbWUiOiJWYWx1ZSIsInBhdGgiOiJvdmVybGF5c1swXS5wYXRjaGVzWzBdLnZhbHVlIn0seyJkZXNjcmlwdGlvbiI6IlZlcmJhdGltIHZhbHVlIHRvIGFkZCwgZGVsZXRlIG9yIHJlcGxhY2UuXG5TYW1lIGFzIFZhbHVlLCBidXQgdGhlIGNvbnRlbnQgaXMgbm90IGludGVycHJldGVkIGFzIFlBTUwgYW5kIGlzIHRyZWF0ZWQgYXMgYSBsaXRlcmFsIHN0cmluZyBpbnN0ZWFkLlxuQXQgbGVhc3Qgb25lIG9mIFZhbHVlIGFuZCBWZXJiYXRpbSBtdXN0IGJlIGVtcHR5LiIsImRpc3BsYXlOYW1lIjoiVmVyYmF0aW0iLCJwYXRoIjoib3ZlcmxheXNbMF0ucGF0Y2hlc1swXS52ZXJiYXRpbSJ9LHsiZGVzY3JpcHRpb24iOiJJZiB5b3UgZG8gbm90IHdhbnQgdG8gZGVwbG95IHRoZSBSZWQgSGF0IEFkdmFuY2VkIENsdXN0ZXIgU2VjdXJpdHkgU2Nhbm5lciwgeW91IGNhbiBkaXNhYmxlIGl0IGhlcmVcbihub3QgcmVjb21tZW5kZWQpLiBCeSBkZWZhdWx0LCB0aGUgc2Nhbm5lciBpcyBlbmFibGVkLlxuSWYgeW91IGRvIHNvLCBhbGwgdGhlIHNldHRpbmdzIGluIHRoaXMgc2VjdGlvbiB3aWxsIGhhdmUgbm8gZWZmZWN0LiIsImRpc3BsYXlOYW1lIjoiU2Nhbm5lciBDb21wb25lbnQiLCJwYXRoIjoic2Nhbm5lci5zY2FubmVyQ29tcG9uZW50In0seyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIHBlcnRhaW5pbmcgdG8gdGhlIGFuYWx5emVyIGRlcGxveW1lbnQsIHN1Y2ggYXMgZm9yIGF1dG9zY2FsaW5nLiIsImRpc3BsYXlOYW1lIjoiQW5hbHl6ZXIiLCJwYXRoIjoic2Nhbm5lci5hbmFseXplciIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6c2Nhbm5lci5zY2FubmVyQ29tcG9uZW50OkVuYWJsZWQiXX0seyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIHBlcnRhaW5pbmcgdG8gdGhlIGRhdGFiYXNlIHVzZWQgYnkgdGhlIFJlZCBIYXQgQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eSBTY2FubmVyLiIsImRpc3BsYXlOYW1lIjoiREIiLCJwYXRoIjoic2Nhbm5lci5kYiIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6c2Nhbm5lci5zY2FubmVyQ29tcG9uZW50OkVuYWJsZWQiXX0seyJkZXNjcmlwdGlvbiI6IkNvbmZpZ3VyZXMgbW9uaXRvcmluZyBlbmRwb2ludCBmb3IgU2Nhbm5lci4gVGhlIG1vbml0b3JpbmcgZW5kcG9pbnRcbmFsbG93cyBvdGhlciBzZXJ2aWNlcyB0byBjb2xsZWN0IG1ldHJpY3MgZnJvbSBTY2FubmVyLCBwcm92aWRlZCBpblxuUHJvbWV0aGV1cyBjb21wYXRpYmxlIGZvcm1hdC4iLCJkaXNwbGF5TmFtZSI6Ik1vbml0b3JpbmciLCJwYXRoIjoic2Nhbm5lci5tb25pdG9yaW5nIn0seyJkZXNjcmlwdGlvbiI6IkNvbnRyb2xzIHRoZSBudW1iZXIgb2YgYW5hbHl6ZXIgcmVwbGljYXMgYW5kIGF1dG9zY2FsaW5nLiIsImRpc3BsYXlOYW1lIjoiU2NhbGluZyIsInBhdGgiOiJzY2FubmVyLmFuYWx5emVyLnNjYWxpbmcifSx7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJkaXNwbGF5TmFtZSI6IlJlc291cmNlcyIsInBhdGgiOiJzY2FubmVyLmFuYWx5emVyLnJlc291cmNlcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpyZXNvdXJjZVJlcXVpcmVtZW50cyJdfSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsImRpc3BsYXlOYW1lIjoiTm9kZSBTZWxlY3RvciIsInBhdGgiOiJzY2FubmVyLmFuYWx5emVyLm5vZGVTZWxlY3RvciJ9LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsImRpc3BsYXlOYW1lIjoiVG9sZXJhdGlvbnMiLCJwYXRoIjoic2Nhbm5lci5hbmFseXplci50b2xlcmF0aW9ucyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTp0b2xlcmF0aW9ucyJdfSx7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiZGlzcGxheU5hbWUiOiJIb3N0IEFsaWFzZXMiLCJwYXRoIjoic2Nhbm5lci5hbmFseXplci5ob3N0QWxpYXNlcyJ9LHsiZGVzY3JpcHRpb24iOiJXaGVuIGVuYWJsZWQsIHRoZSBudW1iZXIgb2YgY29tcG9uZW50IHJlcGxpY2FzIGlzIG1hbmFnZWQgZHluYW1pY2FsbHkgYmFzZWQgb24gdGhlIGxvYWQsIHdpdGhpbiB0aGUgbGltaXRzXG5zcGVjaWZpZWQgYmVsb3cuXG5UaGUgZGVmYXVsdCBpczogRW5hYmxlZC4iLCJkaXNwbGF5TmFtZSI6IkF1dG9zY2FsaW5nIiwicGF0aCI6InNjYW5uZXIuYW5hbHl6ZXIuc2NhbGluZy5hdXRvU2NhbGluZyJ9LHsiZGVzY3JpcHRpb24iOiJXaGVuIGF1dG9zY2FsaW5nIGlzIGRpc2FibGVkLCB0aGUgbnVtYmVyIG9mIHJlcGxpY2FzIHdpbGwgYWx3YXlzIGJlIGNvbmZpZ3VyZWQgdG8gbWF0Y2ggdGhpcyB2YWx1ZS5cblRoZSBkZWZhdWx0IGlzOiAzLiIsImRpc3BsYXlOYW1lIjoiRGVmYXVsdCBSZXBsaWNhcyIsInBhdGgiOiJzY2FubmVyLmFuYWx5emVyLnNjYWxpbmcucmVwbGljYXMifSx7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IDIuIiwiZGlzcGxheU5hbWUiOiJBdXRvc2NhbGluZyBNaW5pbXVtIFJlcGxpY2FzIiwicGF0aCI6InNjYW5uZXIuYW5hbHl6ZXIuc2NhbGluZy5taW5SZXBsaWNhcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6c2Nhbm5lci5hbmFseXplci5zY2FsaW5nLmF1dG9TY2FsaW5nOkVuYWJsZWQiXX0seyJkZXNjcmlwdGlvbiI6IlRoZSBkZWZhdWx0IGlzOiA1LiIsImRpc3BsYXlOYW1lIjoiQXV0b3NjYWxpbmcgTWF4aW11bSBSZXBsaWNhcyIsInBhdGgiOiJzY2FubmVyLmFuYWx5emVyLnNjYWxpbmcubWF4UmVwbGljYXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6ZmllbGREZXBlbmRlbmN5OnNjYW5uZXIuYW5hbHl6ZXIuc2NhbGluZy5hdXRvU2NhbGluZzpFbmFibGVkIl19LHsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsImRpc3BsYXlOYW1lIjoiUmVzb3VyY2VzIiwicGF0aCI6InNjYW5uZXIuZGIucmVzb3VyY2VzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJlc291cmNlUmVxdWlyZW1lbnRzIl19LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwiZGlzcGxheU5hbWUiOiJOb2RlIFNlbGVjdG9yIiwicGF0aCI6InNjYW5uZXIuZGIubm9kZVNlbGVjdG9yIn0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiZGlzcGxheU5hbWUiOiJUb2xlcmF0aW9ucyIsInBhdGgiOiJzY2FubmVyLmRiLnRvbGVyYXRpb25zIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnRvbGVyYXRpb25zIl19LHsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJkaXNwbGF5TmFtZSI6Ikhvc3QgQWxpYXNlcyIsInBhdGgiOiJzY2FubmVyLmRiLmhvc3RBbGlhc2VzIn0seyJkZXNjcmlwdGlvbiI6IkV4cG9zZSB0aGUgbW9uaXRvcmluZyBlbmRwb2ludC4gQSBuZXcgc2VydmljZSwgXCJtb25pdG9yaW5nXCIsXG53aXRoIHBvcnQgOTA5MCwgd2lsbCBiZSBjcmVhdGVkIGFzIHdlbGwgYXMgYSBuZXR3b3JrIHBvbGljeSBhbGxvd2luZ1xuaW5ib3VuZCBjb25uZWN0aW9ucyB0byB0aGUgcG9ydC4iLCJkaXNwbGF5TmFtZSI6IkV4cG9zZSBFbmRwb2ludCIsInBhdGgiOiJzY2FubmVyLm1vbml0b3JpbmcuZXhwb3NlRW5kcG9pbnQifSx7ImRlc2NyaXB0aW9uIjoiQ2FuIGJlIHNwZWNpZmllZCBhcyBcIkVuYWJsZWRcIiBvciBcIkRpc2FibGVkXCIuXG5JZiB0aGlzIGZpZWxkIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBmb2xsb3dpbmcgZGVmYXVsdGluZyB0YWtlcyBwbGFjZTpcbiogZm9yIHVwZ3JhZGVzIHRvIDQuOCBmcm9tIHByZXZpb3VzIHJlbGVhc2VzLCB0aGUgZGVmYXVsdCBpczogRGlzYWJsZWQ7XG4qIGZvciBuZXcgaW5zdGFsbGF0aW9ucyBzdGFydGluZyB3aXRoIEFDUyA0LjgsIHRoZSBkZWZhdWx0IGlzOiBFbmFibGVkLiIsImRpc3BsYXlOYW1lIjoiU2Nhbm5lciBWNCBjb21wb25lbnQiLCJwYXRoIjoic2Nhbm5lclY0LnNjYW5uZXJDb21wb25lbnQifSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcGVydGFpbmluZyB0byB0aGUgaW5kZXhlciBkZXBsb3ltZW50LiIsImRpc3BsYXlOYW1lIjoiSW5kZXhlciIsInBhdGgiOiJzY2FubmVyVjQuaW5kZXhlciIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6c2Nhbm5lclY0LnNjYW5uZXJDb21wb25lbnQ6RW5hYmxlZCJdfSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcGVydGFpbmluZyB0byB0aGUgbWF0Y2hlciBkZXBsb3ltZW50LiIsImRpc3BsYXlOYW1lIjoiTWF0Y2hlciIsInBhdGgiOiJzY2FubmVyVjQubWF0Y2hlciIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6c2Nhbm5lclY0LnNjYW5uZXJDb21wb25lbnQ6RW5hYmxlZCJdfSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcGVydGFpbmluZyB0byB0aGUgREIgZGVwbG95bWVudC4iLCJkaXNwbGF5TmFtZSI6IkRCIiwicGF0aCI6InNjYW5uZXJWNC5kYiIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6c2Nhbm5lclY0LnNjYW5uZXJDb21wb25lbnQ6RW5hYmxlZCJdfSx7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyBtb25pdG9yaW5nIGVuZHBvaW50IGZvciBTY2FubmVyIFY0LiBUaGUgbW9uaXRvcmluZyBlbmRwb2ludFxuYWxsb3dzIG90aGVyIHNlcnZpY2VzIHRvIGNvbGxlY3QgbWV0cmljcyBmcm9tIFNjYW5uZXIgVjQsIHByb3ZpZGVkIGluXG5Qcm9tZXRoZXVzIGNvbXBhdGlibGUgZm9ybWF0LiIsImRpc3BsYXlOYW1lIjoiTW9uaXRvcmluZyIsInBhdGgiOiJzY2FubmVyVjQubW9uaXRvcmluZyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6c2Nhbm5lclY0LnNjYW5uZXJDb21wb25lbnQ6RW5hYmxlZCJdfSx7ImRlc2NyaXB0aW9uIjoiQ29uZmlndXJlcyBob3cgU2Nhbm5lciBWNCBzaG91bGQgc3RvcmUgaXRzIHBlcnNpc3RlbnQgZGF0YS5cbllvdSBjYW4gdXNlIGEgcGVyc2lzdGVudCB2b2x1bWUgY2xhaW0gKHRoZSByZWNvbW1lbmRlZCBkZWZhdWx0KSwgYSBob3N0IHBhdGgsXG5vciBhbiBlbXB0eURpciB2b2x1bWUgaWYgU2Nhbm5lciBWNCBpcyBydW5uaW5nIG9uIGEgc2VjdXJlZCBjbHVzdGVyIHdpdGhvdXQgZGVmYXVsdCBTdG9yYWdlQ2xhc3MuIiwiZGlzcGxheU5hbWUiOiJQZXJzaXN0ZW5jZSIsInBhdGgiOiJzY2FubmVyVjQuZGIucGVyc2lzdGVuY2UifSx7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJkaXNwbGF5TmFtZSI6IlJlc291cmNlcyIsInBhdGgiOiJzY2FubmVyVjQuZGIucmVzb3VyY2VzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJlc291cmNlUmVxdWlyZW1lbnRzIl19LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwiZGlzcGxheU5hbWUiOiJOb2RlIFNlbGVjdG9yIiwicGF0aCI6InNjYW5uZXJWNC5kYi5ub2RlU2VsZWN0b3IifSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJkaXNwbGF5TmFtZSI6IlRvbGVyYXRpb25zIiwicGF0aCI6InNjYW5uZXJWNC5kYi50b2xlcmF0aW9ucyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTp0b2xlcmF0aW9ucyJdfSx7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiZGlzcGxheU5hbWUiOiJIb3N0IEFsaWFzZXMiLCJwYXRoIjoic2Nhbm5lclY0LmRiLmhvc3RBbGlhc2VzIn0seyJkZXNjcmlwdGlvbiI6IlVzZXMgYSBLdWJlcm5ldGVzIHBlcnNpc3RlbnQgdm9sdW1lIGNsYWltIChQVkMpIHRvIG1hbmFnZSB0aGUgc3RvcmFnZSBsb2NhdGlvbiBvZiBwZXJzaXN0ZW50IGRhdGEuXG5SZWNvbW1lbmRlZCBmb3IgbW9zdCB1c2Vycy4iLCJkaXNwbGF5TmFtZSI6IlBlcnNpc3RlbnQgdm9sdW1lIGNsYWltIiwicGF0aCI6InNjYW5uZXJWNC5kYi5wZXJzaXN0ZW5jZS5wZXJzaXN0ZW50Vm9sdW1lQ2xhaW0ifSx7ImRlc2NyaXB0aW9uIjoiU3RvcmVzIHBlcnNpc3RlbnQgZGF0YSBpbiBhIGRpcmVjdG9yeSBvbiB0aGUgaG9zdC4gVGhpcyBpcyBub3QgcmVjb21tZW5kZWQsIGFuZCBzaG91bGQgb25seVxuYmUgdXNlZCB0b2dldGhlciB3aXRoIGEgbm9kZSBzZWxlY3RvciAob25seSBhdmFpbGFibGUgaW4gWUFNTCB2aWV3KS4iLCJkaXNwbGF5TmFtZSI6Ikhvc3QgcGF0aCIsInBhdGgiOiJzY2FubmVyVjQuZGIucGVyc2lzdGVuY2UuaG9zdFBhdGgifSx7ImRlc2NyaXB0aW9uIjoiVGhlIHBhdGggb24gdGhlIGhvc3QgcnVubmluZyBDZW50cmFsLiIsImRpc3BsYXlOYW1lIjoiUGF0aCIsInBhdGgiOiJzY2FubmVyVjQuZGIucGVyc2lzdGVuY2UuaG9zdFBhdGgucGF0aCJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgUFZDIHRvIG1hbmFnZSBwZXJzaXN0ZW50IGRhdGEuIElmIG5vIFBWQyB3aXRoIHRoZSBnaXZlbiBuYW1lIGV4aXN0cywgaXQgd2lsbCBiZVxuY3JlYXRlZC5cblRoZSBkZWZhdWx0IGlzOiBzY2FubmVyLXY0LWRiLiIsImRpc3BsYXlOYW1lIjoiQ2xhaW0gTmFtZSIsInBhdGgiOiJzY2FubmVyVjQuZGIucGVyc2lzdGVuY2UucGVyc2lzdGVudFZvbHVtZUNsYWltLmNsYWltTmFtZSJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgc2l6ZSBvZiB0aGUgcGVyc2lzdGVudCB2b2x1bWUgd2hlbiBjcmVhdGVkIHRocm91Z2ggdGhlIGNsYWltLiBJZiBhIGNsYWltIHdhcyBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQsXG50aGlzIGNhbiBiZSB1c2VkIGFmdGVyIHRoZSBpbml0aWFsIGRlcGxveW1lbnQgdG8gcmVzaXplIChncm93KSB0aGUgdm9sdW1lIChvbmx5IHN1cHBvcnRlZCBieSBzb21lXG5zdG9yYWdlIGNsYXNzIGNvbnRyb2xsZXJzKS4iLCJkaXNwbGF5TmFtZSI6IlNpemUiLCJwYXRoIjoic2Nhbm5lclY0LmRiLnBlcnNpc3RlbmNlLnBlcnNpc3RlbnRWb2x1bWVDbGFpbS5zaXplIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnRleHQiXX0seyJkZXNjcmlwdGlvbiI6IlRoZSBuYW1lIG9mIHRoZSBzdG9yYWdlIGNsYXNzIHRvIHVzZSBmb3IgdGhlIFBWQy4gSWYgeW91ciBjbHVzdGVyIGlzIG5vdCBjb25maWd1cmVkIHdpdGggYSBkZWZhdWx0IHN0b3JhZ2VcbmNsYXNzLCB5b3UgbXVzdCBzZWxlY3QgYSB2YWx1ZSBoZXJlLiIsImRpc3BsYXlOYW1lIjoiU3RvcmFnZSBDbGFzcyIsInBhdGgiOiJzY2FubmVyVjQuZGIucGVyc2lzdGVuY2UucGVyc2lzdGVudFZvbHVtZUNsYWltLnN0b3JhZ2VDbGFzc05hbWUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjppby5rdWJlcm5ldGVzOlN0b3JhZ2VDbGFzcyJdfSx7ImRlc2NyaXB0aW9uIjoiQ29udHJvbHMgdGhlIG51bWJlciBvZiByZXBsaWNhcyBhbmQgYXV0b3NjYWxpbmcgZm9yIHRoaXMgY29tcG9uZW50LiIsImRpc3BsYXlOYW1lIjoiU2NhbGluZyIsInBhdGgiOiJzY2FubmVyVjQuaW5kZXhlci5zY2FsaW5nIn0seyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwiZGlzcGxheU5hbWUiOiJSZXNvdXJjZXMiLCJwYXRoIjoic2Nhbm5lclY0LmluZGV4ZXIucmVzb3VyY2VzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJlc291cmNlUmVxdWlyZW1lbnRzIl19LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwiZGlzcGxheU5hbWUiOiJOb2RlIFNlbGVjdG9yIiwicGF0aCI6InNjYW5uZXJWNC5pbmRleGVyLm5vZGVTZWxlY3RvciJ9LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsImRpc3BsYXlOYW1lIjoiVG9sZXJhdGlvbnMiLCJwYXRoIjoic2Nhbm5lclY0LmluZGV4ZXIudG9sZXJhdGlvbnMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dG9sZXJhdGlvbnMiXX0seyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsImRpc3BsYXlOYW1lIjoiSG9zdCBBbGlhc2VzIiwicGF0aCI6InNjYW5uZXJWNC5pbmRleGVyLmhvc3RBbGlhc2VzIn0seyJkZXNjcmlwdGlvbiI6IldoZW4gZW5hYmxlZCwgdGhlIG51bWJlciBvZiBjb21wb25lbnQgcmVwbGljYXMgaXMgbWFuYWdlZCBkeW5hbWljYWxseSBiYXNlZCBvbiB0aGUgbG9hZCwgd2l0aGluIHRoZSBsaW1pdHNcbnNwZWNpZmllZCBiZWxvdy5cblRoZSBkZWZhdWx0IGlzOiBFbmFibGVkLiIsImRpc3BsYXlOYW1lIjoiQXV0b3NjYWxpbmciLCJwYXRoIjoic2Nhbm5lclY0LmluZGV4ZXIuc2NhbGluZy5hdXRvU2NhbGluZyJ9LHsiZGVzY3JpcHRpb24iOiJXaGVuIGF1dG9zY2FsaW5nIGlzIGRpc2FibGVkLCB0aGUgbnVtYmVyIG9mIHJlcGxpY2FzIHdpbGwgYWx3YXlzIGJlIGNvbmZpZ3VyZWQgdG8gbWF0Y2ggdGhpcyB2YWx1ZS5cblRoZSBkZWZhdWx0IGlzOiAzLiIsImRpc3BsYXlOYW1lIjoiRGVmYXVsdCBSZXBsaWNhcyIsInBhdGgiOiJzY2FubmVyVjQuaW5kZXhlci5zY2FsaW5nLnJlcGxpY2FzIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBkZWZhdWx0IGlzOiAyLiIsImRpc3BsYXlOYW1lIjoiQXV0b3NjYWxpbmcgTWluaW11bSBSZXBsaWNhcyIsInBhdGgiOiJzY2FubmVyVjQuaW5kZXhlci5zY2FsaW5nLm1pblJlcGxpY2FzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpzY2FubmVyVjQuaW5kZXhlci5zY2FsaW5nLmF1dG9TY2FsaW5nOkVuYWJsZWQiXX0seyJkZXNjcmlwdGlvbiI6IlRoZSBkZWZhdWx0IGlzOiA1LiIsImRpc3BsYXlOYW1lIjoiQXV0b3NjYWxpbmcgTWF4aW11bSBSZXBsaWNhcyIsInBhdGgiOiJzY2FubmVyVjQuaW5kZXhlci5zY2FsaW5nLm1heFJlcGxpY2FzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpzY2FubmVyVjQuaW5kZXhlci5zY2FsaW5nLmF1dG9TY2FsaW5nOkVuYWJsZWQiXX0seyJkZXNjcmlwdGlvbiI6IkNvbnRyb2xzIHRoZSBudW1iZXIgb2YgcmVwbGljYXMgYW5kIGF1dG9zY2FsaW5nIGZvciB0aGlzIGNvbXBvbmVudC4iLCJkaXNwbGF5TmFtZSI6IlNjYWxpbmciLCJwYXRoIjoic2Nhbm5lclY0Lm1hdGNoZXIuc2NhbGluZyJ9LHsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsImRpc3BsYXlOYW1lIjoiUmVzb3VyY2VzIiwicGF0aCI6InNjYW5uZXJWNC5tYXRjaGVyLnJlc291cmNlcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpyZXNvdXJjZVJlcXVpcmVtZW50cyJdfSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsImRpc3BsYXlOYW1lIjoiTm9kZSBTZWxlY3RvciIsInBhdGgiOiJzY2FubmVyVjQubWF0Y2hlci5ub2RlU2VsZWN0b3IifSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJkaXNwbGF5TmFtZSI6IlRvbGVyYXRpb25zIiwicGF0aCI6InNjYW5uZXJWNC5tYXRjaGVyLnRvbGVyYXRpb25zIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnRvbGVyYXRpb25zIl19LHsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJkaXNwbGF5TmFtZSI6Ikhvc3QgQWxpYXNlcyIsInBhdGgiOiJzY2FubmVyVjQubWF0Y2hlci5ob3N0QWxpYXNlcyJ9LHsiZGVzY3JpcHRpb24iOiJXaGVuIGVuYWJsZWQsIHRoZSBudW1iZXIgb2YgY29tcG9uZW50IHJlcGxpY2FzIGlzIG1hbmFnZWQgZHluYW1pY2FsbHkgYmFzZWQgb24gdGhlIGxvYWQsIHdpdGhpbiB0aGUgbGltaXRzXG5zcGVjaWZpZWQgYmVsb3cuXG5UaGUgZGVmYXVsdCBpczogRW5hYmxlZC4iLCJkaXNwbGF5TmFtZSI6IkF1dG9zY2FsaW5nIiwicGF0aCI6InNjYW5uZXJWNC5tYXRjaGVyLnNjYWxpbmcuYXV0b1NjYWxpbmcifSx7ImRlc2NyaXB0aW9uIjoiV2hlbiBhdXRvc2NhbGluZyBpcyBkaXNhYmxlZCwgdGhlIG51bWJlciBvZiByZXBsaWNhcyB3aWxsIGFsd2F5cyBiZSBjb25maWd1cmVkIHRvIG1hdGNoIHRoaXMgdmFsdWUuXG5UaGUgZGVmYXVsdCBpczogMy4iLCJkaXNwbGF5TmFtZSI6IkRlZmF1bHQgUmVwbGljYXMiLCJwYXRoIjoic2Nhbm5lclY0Lm1hdGNoZXIuc2NhbGluZy5yZXBsaWNhcyJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogMi4iLCJkaXNwbGF5TmFtZSI6IkF1dG9zY2FsaW5nIE1pbmltdW0gUmVwbGljYXMiLCJwYXRoIjoic2Nhbm5lclY0Lm1hdGNoZXIuc2NhbGluZy5taW5SZXBsaWNhcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6c2Nhbm5lclY0Lm1hdGNoZXIuc2NhbGluZy5hdXRvU2NhbGluZzpFbmFibGVkIl19LHsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogNS4iLCJkaXNwbGF5TmFtZSI6IkF1dG9zY2FsaW5nIE1heGltdW0gUmVwbGljYXMiLCJwYXRoIjoic2Nhbm5lclY0Lm1hdGNoZXIuc2NhbGluZy5tYXhSZXBsaWNhcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6c2Nhbm5lclY0Lm1hdGNoZXIuc2NhbGluZy5hdXRvU2NhbGluZzpFbmFibGVkIl19LHsiZGVzY3JpcHRpb24iOiJFeHBvc2UgdGhlIG1vbml0b3JpbmcgZW5kcG9pbnQuIEEgbmV3IHNlcnZpY2UsIFwibW9uaXRvcmluZ1wiLFxud2l0aCBwb3J0IDkwOTAsIHdpbGwgYmUgY3JlYXRlZCBhcyB3ZWxsIGFzIGEgbmV0d29yayBwb2xpY3kgYWxsb3dpbmdcbmluYm91bmQgY29ubmVjdGlvbnMgdG8gdGhlIHBvcnQuIiwiZGlzcGxheU5hbWUiOiJFeHBvc2UgRW5kcG9pbnQiLCJwYXRoIjoic2Nhbm5lclY0Lm1vbml0b3JpbmcuZXhwb3NlRW5kcG9pbnQifSx7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIHlvdSB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgdHJ1c3RlZCBSb290IENBcy4iLCJkaXNwbGF5TmFtZSI6IkFkZGl0aW9uYWwgQ0FzIiwicGF0aCI6InRscy5hZGRpdGlvbmFsQ0FzIn1dLCJzdGF0dXNEZXNjcmlwdG9ycyI6W3siZGVzY3JpcHRpb24iOiJJbmZvIHN0b3JlcyBpbmZvcm1hdGlvbiBvbiBob3cgdG8gb2J0YWluIHRoZSBhZG1pbiBwYXNzd29yZC4iLCJkaXNwbGF5TmFtZSI6IkFkbWluIENyZWRlbnRpYWxzIEluZm8iLCJwYXRoIjoiY2VudHJhbC5hZG1pblBhc3N3b3JkLmluZm8ifSx7ImRlc2NyaXB0aW9uIjoiVGhlIGRlcGxveWVkIHZlcnNpb24gb2YgdGhlIHByb2R1Y3QuIiwiZGlzcGxheU5hbWUiOiJQcm9kdWN0IFZlcnNpb24iLCJwYXRoIjoicHJvZHVjdFZlcnNpb24ifSx7ImRpc3BsYXlOYW1lIjoiQ2VudHJhbCIsInBhdGgiOiJjZW50cmFsIn0seyJkZXNjcmlwdGlvbiI6IkFkbWluUGFzc3dvcmRTZWNyZXRSZWZlcmVuY2UgY29udGFpbnMgcmVmZXJlbmNlIGZvciB0aGUgYWRtaW4gcGFzc3dvcmQiLCJkaXNwbGF5TmFtZSI6IkFkbWluIFBhc3N3b3JkIFNlY3JldCBSZWZlcmVuY2UiLCJwYXRoIjoiY2VudHJhbC5hZG1pblBhc3N3b3JkLmFkbWluUGFzc3dvcmRTZWNyZXRSZWZlcmVuY2UiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjppby5rdWJlcm5ldGVzOlNlY3JldCJdfSx7ImRlc2NyaXB0aW9uIjoiT2JzZXJ2ZWRHZW5lcmF0aW9uIGlzIHRoZSBnZW5lcmF0aW9uIG1vc3QgcmVjZW50bHkgb2JzZXJ2ZWQgYnkgdGhlIGNvbnRyb2xsZXIuIiwiZGlzcGxheU5hbWUiOiJPYnNlcnZlZCBHZW5lcmF0aW9uIiwicGF0aCI6Im9ic2VydmVkR2VuZXJhdGlvbiJ9XSwidmVyc2lvbiI6InYxYWxwaGExIn0seyJkZXNjcmlwdGlvbiI6IlNlY3VyZWRDbHVzdGVyIGlzIHRoZSBjb25maWd1cmF0aW9uIHRlbXBsYXRlIGZvciB0aGUgc2VjdXJlZCBjbHVzdGVyIHNlcnZpY2VzLiBUaGVzZSBpbmNsdWRlIFNlbnNvciwgd2hpY2ggaXNcbnJlc3BvbnNpYmxlIGZvciB0aGUgY29ubmVjdGlvbiB0byBDZW50cmFsLCBhbmQgQ29sbGVjdG9yLCB3aGljaCBwZXJmb3JtcyBob3N0LWxldmVsIGNvbGxlY3Rpb24gb2YgcHJvY2VzcyBhbmRcbm5ldHdvcmsgZXZlbnRzLlx1MDAzY3BcdTAwM2VcbioqSW1wb3J0YW50OioqIFBsZWFzZSBzZWUgdGhlIF9JbnN0YWxsYXRpb24gUHJlcmVxdWlzaXRlc18gb24gdGhlIG1haW4gUkhBQ1Mgb3BlcmF0b3IgcGFnZSBiZWZvcmUgZGVwbG95aW5nLCBvclxuY29uc3VsdCB0aGUgUkhBQ1MgZG9jdW1lbnRhdGlvbiBvbiBjcmVhdGluZyBjbHVzdGVyIGluaXQgYnVuZGxlcy4iLCJkaXNwbGF5TmFtZSI6IlNlY3VyZWQgQ2x1c3RlciIsImtpbmQiOiJTZWN1cmVkQ2x1c3RlciIsIm5hbWUiOiJzZWN1cmVkY2x1c3RlcnMucGxhdGZvcm0uc3RhY2tyb3guaW8iLCJyZXNvdXJjZXMiOlt7ImtpbmQiOiJEYWVtb25TZXQiLCJuYW1lIjoiIiwidmVyc2lvbiI6InYxIn0seyJraW5kIjoiRGVwbG95bWVudCIsIm5hbWUiOiIiLCJ2ZXJzaW9uIjoidjEifV0sInNwZWNEZXNjcmlwdG9ycyI6W3siZGVzY3JpcHRpb24iOiJUaGUgdW5pcXVlIG5hbWUgb2YgdGhpcyBjbHVzdGVyLCBhcyBpdCB3aWxsIGJlIHNob3duIGluIHRoZSBSZWQgSGF0IEFkdmFuY2VkIENsdXN0ZXIgU2VjdXJpdHkgVUkuXG5Ob3RlOiBPbmNlIGEgbmFtZSBpcyBzZXQgaGVyZSwgeW91IHdpbGwgbm90IGJlIGFibGUgdG8gY2hhbmdlIGl0IGFnYWluLiBZb3Ugd2lsbCBuZWVkIHRvIGRlbGV0ZVxuYW5kIHJlLWNyZWF0ZSB0aGlzIG9iamVjdCBpbiBvcmRlciB0byByZWdpc3RlciBhIGNsdXN0ZXIgd2l0aCBhIG5ldyBuYW1lLiIsImRpc3BsYXlOYW1lIjoiQ2x1c3RlciBOYW1lIiwicGF0aCI6ImNsdXN0ZXJOYW1lIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBlbmRwb2ludCBvZiB0aGUgUmVkIEhhdCBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5IENlbnRyYWwgaW5zdGFuY2UgdG8gY29ubmVjdCB0byxcbmluY2x1ZGluZyB0aGUgcG9ydCBudW1iZXIuIElmIG5vIHBvcnQgaXMgc3BlY2lmaWVkIGFuZCB0aGUgZW5kcG9pbnQgY29udGFpbnMgYW4gaHR0cHM6Ly9cbnByb3RvY29sIHNwZWNpZmljYXRpb24sIHRoZW4gdGhlIHBvcnQgNDQzIGlzIGltcGxpY2l0bHkgYXNzdW1lZC5cbklmIHVzaW5nIGEgbm9uLWdSUEMgY2FwYWJsZSBsb2FkIGJhbGFuY2VyLCB1c2UgdGhlIFdlYlNvY2tldCBwcm90b2NvbCBieSBwcmVmaXhpbmcgdGhlIGVuZHBvaW50XG5hZGRyZXNzIHdpdGggd3NzOi8vLlxuTm90ZTogd2hlbiBsZWF2aW5nIHRoaXMgYmxhbmssIFNlbnNvciB3aWxsIGF0dGVtcHQgdG8gY29ubmVjdCB0byBhIENlbnRyYWwgaW5zdGFuY2UgcnVubmluZyBpbiB0aGUgc2FtZVxubmFtZXNwYWNlLiIsImRpc3BsYXlOYW1lIjoiQ2VudHJhbCBFbmRwb2ludCIsInBhdGgiOiJjZW50cmFsRW5kcG9pbnQifSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBTZW5zb3IgY29tcG9uZW50LiIsImRpc3BsYXlOYW1lIjoiU2Vuc29yIFNldHRpbmdzIiwicGF0aCI6InNlbnNvciJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIEFkbWlzc2lvbiBDb250cm9sIGNvbXBvbmVudCwgd2hpY2ggaXMgbmVjZXNzYXJ5IGZvciBwcmV2ZW50aXZlIHBvbGljeSBlbmZvcmNlbWVudCxcbmFuZCBmb3IgS3ViZXJuZXRlcyBldmVudCBtb25pdG9yaW5nLiIsImRpc3BsYXlOYW1lIjoiQWRtaXNzaW9uIENvbnRyb2wgU2V0dGluZ3MiLCJwYXRoIjoiYWRtaXNzaW9uQ29udHJvbCJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIGNvbXBvbmVudHMgcnVubmluZyBvbiBlYWNoIG5vZGUgaW4gdGhlIGNsdXN0ZXIgKENvbGxlY3RvciBhbmQgQ29tcGxpYW5jZSkuIiwiZGlzcGxheU5hbWUiOiJQZXIgTm9kZSBTZXR0aW5ncyIsInBhdGgiOiJwZXJOb2RlIn0seyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIHJlbGF0aW5nIHRvIHRoZSBpbmdlc3Rpb24gb2YgS3ViZXJuZXRlcyBhdWRpdCBsb2dzLiIsImRpc3BsYXlOYW1lIjoiS3ViZXJuZXRlcyBBdWRpdCBMb2dzIEluZ2VzdGlvbiBTZXR0aW5ncyIsInBhdGgiOiJhdWRpdExvZ3MifSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcmVsYXRpbmcgdG8gcHJvY2VzcyBiYXNlbGluZXMuIiwiZGlzcGxheU5hbWUiOiJQcm9jZXNzIEJhc2VsaW5lcyBTZXR0aW5ncyIsInBhdGgiOiJwcm9jZXNzQmFzZWxpbmVzIn0seyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIGZvciB0aGUgU2Nhbm5lciBjb21wb25lbnQsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciB2dWxuZXJhYmlsaXR5IHNjYW5uaW5nIG9mIGNvbnRhaW5lclxuaW1hZ2VzIHN0b3JlZCBpbiBhIGNsdXN0ZXItbG9jYWwgaW1hZ2UgcmVwb3NpdG9yeS4iLCJkaXNwbGF5TmFtZSI6IlNjYW5uZXIgQ29tcG9uZW50IFNldHRpbmdzIiwicGF0aCI6InNjYW5uZXIifSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBTY2FubmVyIFY0IGNvbXBvbmVudHMsIHdoaWNoIGNhbiBydW4gaW4gYWRkaXRpb24gdG8gdGhlIHByZXZpb3VzbHkgZXhpc3RpbmcgU2Nhbm5lciBjb21wb25lbnRzIiwiZGlzcGxheU5hbWUiOiJTY2FubmVyIFY0IENvbXBvbmVudCBTZXR0aW5ncyIsInBhdGgiOiJzY2FubmVyVjQifSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcmVsYXRlZCB0byBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHksIHN1Y2ggYXMgQ2VydGlmaWNhdGUgQXV0aG9yaXRpZXMuIiwiZGlzcGxheU5hbWUiOiJUTFMiLCJwYXRoIjoidGxzIn0seyJkZXNjcmlwdGlvbiI6IkFkZGl0aW9uYWwgaW1hZ2UgcHVsbCBzZWNyZXRzIHRvIGJlIHRha2VuIGludG8gYWNjb3VudCBmb3IgcHVsbGluZyBpbWFnZXMuIiwiZGlzcGxheU5hbWUiOiJJbWFnZSBQdWxsIFNlY3JldHMiLCJwYXRoIjoiaW1hZ2VQdWxsU2VjcmV0cyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTphZHZhbmNlZCJdfSx7ImRlc2NyaXB0aW9uIjoiQ3VzdG9taXphdGlvbnMgdG8gYXBwbHkgb24gYWxsIFNlY3VyZWQgQ2x1c3RlciBTZXJ2aWNlcyBjb21wb25lbnRzLiIsImRpc3BsYXlOYW1lIjoiQ3VzdG9taXphdGlvbnMiLCJwYXRoIjoiY3VzdG9taXplIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmFkdmFuY2VkIl19LHsiZGVzY3JpcHRpb24iOiJPdmVybGF5cyIsImRpc3BsYXlOYW1lIjoiT3ZlcmxheXMiLCJwYXRoIjoib3ZlcmxheXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJNb25pdG9yaW5nIGNvbmZpZ3VyYXRpb24uIiwiZGlzcGxheU5hbWUiOiJNb25pdG9yaW5nIiwicGF0aCI6Im1vbml0b3JpbmciLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6YWR2YW5jZWQiXX0seyJkZXNjcmlwdGlvbiI6IlNldCB0aGlzIHBhcmFtZXRlciB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCByZWdpc3RyeSBpbiBpbWFnZXMuIEZvciBleGFtcGxlLCBuZ2lueDpsYXRlc3QgLVx1MDAzZSBcdTAwM2NyZWdpc3RyeSBvdmVycmlkZVx1MDAzZS9saWJyYXJ5L25naW54OmxhdGVzdCIsImRpc3BsYXlOYW1lIjoiQ3VzdG9tIERlZmF1bHQgSW1hZ2UgUmVnaXN0cnkiLCJwYXRoIjoicmVnaXN0cnlPdmVycmlkZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTphZHZhbmNlZCJdfSx7ImRlc2NyaXB0aW9uIjoiTmV0d29yayBjb25maWd1cmF0aW9uLiIsImRpc3BsYXlOYW1lIjoiTmV0d29yayIsInBhdGgiOiJuZXR3b3JrIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmFkdmFuY2VkIl19LHsiZGVzY3JpcHRpb24iOiJEZXByZWNhdGVkIGZpZWxkLiBUaGlzIGZpZWxkIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLlxuTWlzY2VsbGFuZW91cyBzZXR0aW5ncy4iLCJkaXNwbGF5TmFtZSI6Ik1pc2NlbGxhbmVvdXMiLCJwYXRoIjoibWlzYyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpoaWRkZW4iXX0seyJkZXNjcmlwdGlvbiI6IlNldCB0byBEaXNhYmxlZCB0byBkaXNhYmxlIHBvbGljeSBlbmZvcmNlbWVudCBmb3IgdGhlIGFkbWlzc2lvbiBjb250cm9sbGVyLiBUaGlzIGlzIG5vdCByZWNvbW1lbmRlZC5cbk9uIHVwZ3JhZGVzIHRvIDQuOSBmcm9tIHByZXZpb3VzIHJlbGVhc2VzLCBkZWZhdWx0cyB0byBFbmFibGVkIG9ubHkgaWYgYXQgbGVhc3Qgb25lIG9mIGxpc3Rlbk9uQ3JlYXRlcyBvciBsaXN0ZW5PblVwZGF0ZXMgaXMgdHJ1ZS5cbk9uIG5ldyBkZXBsb3ltZW50cyBzdGFydGluZyB3aXRoIHZlcnNpb24gNC45LCB0aGUgZGVmYXVsdCBpczogRW5hYmxlZC4iLCJkaXNwbGF5TmFtZSI6IkVuZm9yY2VtZW50IiwicGF0aCI6ImFkbWlzc2lvbkNvbnRyb2wuZW5mb3JjZW1lbnQifSx7ImRlc2NyaXB0aW9uIjoiRW5hYmxlcyB0ZWFtcyB0byBieXBhc3MgYWRtaXNzaW9uIGNvbnRyb2wgaW4gYSBtb25pdG9yZWQgbWFubmVyIGluIHRoZSBldmVudCBvZiBhbiBlbWVyZ2VuY3kuXG5UaGUgZGVmYXVsdCBpczogQnJlYWtHbGFzc0Fubm90YXRpb24uIiwiZGlzcGxheU5hbWUiOiJCeXBhc3MiLCJwYXRoIjoiYWRtaXNzaW9uQ29udHJvbC5ieXBhc3MifSx7ImRlc2NyaXB0aW9uIjoiSWYgc2V0IHRvIFwiRmFpbFwiLCB0aGUgYWRtaXNzaW9uIGNvbnRyb2xsZXIncyB3ZWJob29rcyBhcmUgY29uZmlndXJlZCB0byBmYWlsLWNsb3NlZCBpbiBjYXNlIGFkbWlzc2lvbiBjb250cm9sbGVyXG5mYWlscyB0byByZXNwb25kIGluIHRpbWUuIEEgZmFpbHVyZSBwb2xpY3kgXCJJZ25vcmVcIiBjb25maWd1cmVzIHRoZSB3ZWJob29rcyB0byBmYWlsLW9wZW4uXG5UaGUgZGVmYXVsdCBpczogSWdub3JlLiIsImRpc3BsYXlOYW1lIjoiRmFpbHVyZSBQb2xpY3kiLCJwYXRoIjoiYWRtaXNzaW9uQ29udHJvbC5mYWlsdXJlUG9saWN5In0seyJkZXNjcmlwdGlvbiI6IlRoZSBudW1iZXIgb2YgcmVwbGljYXMgb2YgdGhlIGFkbWlzc2lvbiBjb250cm9sIHBvZC5cblRoZSBkZWZhdWx0IGlzOiAzLiIsImRpc3BsYXlOYW1lIjoiUmVwbGljYXMiLCJwYXRoIjoiYWRtaXNzaW9uQ29udHJvbC5yZXBsaWNhcyJ9LHsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsImRpc3BsYXlOYW1lIjoiUmVzb3VyY2VzIiwicGF0aCI6ImFkbWlzc2lvbkNvbnRyb2wucmVzb3VyY2VzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJlc291cmNlUmVxdWlyZW1lbnRzIl19LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwiZGlzcGxheU5hbWUiOiJOb2RlIFNlbGVjdG9yIiwicGF0aCI6ImFkbWlzc2lvbkNvbnRyb2wubm9kZVNlbGVjdG9yIn0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiZGlzcGxheU5hbWUiOiJUb2xlcmF0aW9ucyIsInBhdGgiOiJhZG1pc3Npb25Db250cm9sLnRvbGVyYXRpb25zIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnRvbGVyYXRpb25zIl19LHsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJkaXNwbGF5TmFtZSI6Ikhvc3QgQWxpYXNlcyIsInBhdGgiOiJhZG1pc3Npb25Db250cm9sLmhvc3RBbGlhc2VzIn0seyJkZXNjcmlwdGlvbiI6IkRlcHJlY2F0ZWQgZmllbGQuIFRoaXMgZmllbGQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuIiwiZGlzcGxheU5hbWUiOiJDb250YWN0IEltYWdlIFNjYW5uZXJzIiwicGF0aCI6ImFkbWlzc2lvbkNvbnRyb2wuY29udGFjdEltYWdlU2Nhbm5lcnMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJEZXByZWNhdGVkIGZpZWxkLiBUaGlzIGZpZWxkIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLiIsImRpc3BsYXlOYW1lIjoiTGlzdGVuIE9uIENyZWF0ZXMiLCJwYXRoIjoiYWRtaXNzaW9uQ29udHJvbC5saXN0ZW5PbkNyZWF0ZXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuIl19LHsiZGVzY3JpcHRpb24iOiJEZXByZWNhdGVkIGZpZWxkLiBUaGlzIGZpZWxkIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLiIsImRpc3BsYXlOYW1lIjoiTGlzdGVuIE9uIEV2ZW50cyIsInBhdGgiOiJhZG1pc3Npb25Db250cm9sLmxpc3Rlbk9uRXZlbnRzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmhpZGRlbiJdfSx7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS4iLCJkaXNwbGF5TmFtZSI6Ikxpc3RlbiBPbiBVcGRhdGVzIiwicGF0aCI6ImFkbWlzc2lvbkNvbnRyb2wubGlzdGVuT25VcGRhdGVzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmhpZGRlbiJdfSx7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS4iLCJkaXNwbGF5TmFtZSI6IlRpbWVvdXQgU2Vjb25kcyIsInBhdGgiOiJhZG1pc3Npb25Db250cm9sLnRpbWVvdXRTZWNvbmRzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmhpZGRlbiJdfSx7ImRlc2NyaXB0aW9uIjoiV2hldGhlciBjb2xsZWN0aW9uIG9mIEt1YmVybmV0ZXMgYXVkaXQgbG9ncyBzaG91bGQgYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4gQ3VycmVudGx5LCB0aGlzIGlzIG9ubHlcbnN1cHBvcnRlZCBvbiBPcGVuU2hpZnQgNCwgYW5kIHRyeWluZyB0byBlbmFibGUgaXQgb24gbm9uLU9wZW5TaGlmdCA0IGNsdXN0ZXJzIHdpbGwgcmVzdWx0IGluIGFuIGVycm9yLlxuVXNlIHRoZSAnQXV0bycgc2V0dGluZyB0byBlbmFibGUgaXQgb24gY29tcGF0aWJsZSBlbnZpcm9ubWVudHMsIGFuZCBkaXNhYmxlIGl0IGVsc2V3aGVyZS5cblRoZSBkZWZhdWx0IGlzOiBBdXRvLiIsImRpc3BsYXlOYW1lIjoiQ29sbGVjdGlvbiIsInBhdGgiOiJhdWRpdExvZ3MuY29sbGVjdGlvbiJ9LHsiZGVzY3JpcHRpb24iOiJDdXN0b20gbGFiZWxzIHRvIHNldCBvbiBhbGwgbWFuYWdlZCBvYmplY3RzLiIsImRpc3BsYXlOYW1lIjoiTGFiZWxzIiwicGF0aCI6ImN1c3RvbWl6ZS5sYWJlbHMifSx7ImRlc2NyaXB0aW9uIjoiQ3VzdG9tIGFubm90YXRpb25zIHRvIHNldCBvbiBhbGwgbWFuYWdlZCBvYmplY3RzLiIsImRpc3BsYXlOYW1lIjoiQW5ub3RhdGlvbnMiLCJwYXRoIjoiY3VzdG9taXplLmFubm90YXRpb25zIn0seyJkZXNjcmlwdGlvbiI6IkN1c3RvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2V0IG9uIG1hbmFnZWQgcG9kcycgY29udGFpbmVycy4iLCJkaXNwbGF5TmFtZSI6IkVudmlyb25tZW50IFZhcmlhYmxlcyIsInBhdGgiOiJjdXN0b21pemUuZW52VmFycyJ9LHsiZGVzY3JpcHRpb24iOiJHbG9iYWwgbm9kZVNlbGVjdG9yIGFuZCB0b2xlcmF0aW9ucyBmb3IgRGVwbG95bWVudC1iYXNlZCBjb21wb25lbnRzLiBEYWVtb25TZXRzIChDb2xsZWN0b3IpIGFyZSBub3QgYWZmZWN0ZWQuXG5Db21wb25lbnQtbGV2ZWwgbm9kZVNlbGVjdG9yIGFuZCB0b2xlcmF0aW9ucyBzZXR0aW5ncyBvdmVycmlkZSB0aGVzZSBkZWZhdWx0cyBvbiBhIGZpZWxkLWJ5LWZpZWxkIGJhc2lzLiIsImRpc3BsYXlOYW1lIjoiRGVwbG95bWVudCBEZWZhdWx0cyIsInBhdGgiOiJjdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzIn0seyJkZXNjcmlwdGlvbiI6IlBpbiBhbGwgRGVwbG95bWVudC1iYXNlZCBjb21wb25lbnRzIHRvIHNwZWNpZmljIG5vZGUgdHlwZXMuIFRoaXMgaXMgYSBjb252ZW5pZW5jZSBzZXR0aW5nXG50aGF0IGF1dG9tYXRpY2FsbHkgY29uZmlndXJlcyBib3RoIG5vZGVTZWxlY3RvciBhbmQgdG9sZXJhdGlvbnMgd2l0aCBwcmVkZWZpbmVkIHZhbHVlcy5cblVzZSB0aGlzIGZvciBjb21tb24gc2NlbmFyaW9zIGxpa2UgcnVubmluZyBvbiBPcGVuU2hpZnQgaW5mcmFzdHJ1Y3R1cmUgbm9kZXMuXG5Gb3IgY3VzdG9tIG5vZGUgc2VsZWN0aW9uLCB1c2UgdGhlIGV4cGxpY2l0IG5vZGVTZWxlY3RvciBhbmQgdG9sZXJhdGlvbnMgZmllbGRzIGluc3RlYWQuXG5DYW5ub3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIG5vZGVTZWxlY3RvciBvciB0b2xlcmF0aW9ucyBmaWVsZHMuXG5UaGUgZGVmYXVsdCBpczogTm9uZS4iLCJkaXNwbGF5TmFtZSI6IlBpbiBUbyBOb2RlcyIsInBhdGgiOiJjdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnBpblRvTm9kZXMifSx7ImRlc2NyaXB0aW9uIjoiRGVmYXVsdCBub2RlU2VsZWN0b3IgYXBwbGllZCB0byBhbGwgRGVwbG95bWVudC1iYXNlZCBjb21wb25lbnRzLiBVc2UgdGhpcyBmb3IgY3VzdG9tIG5vZGVcbnNlbGVjdGlvbiBjcml0ZXJpYS5cbkNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggcGluVG9Ob2Rlcy4iLCJkaXNwbGF5TmFtZSI6Ik5vZGUgU2VsZWN0b3IiLCJwYXRoIjoiY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IifSx7ImRlc2NyaXB0aW9uIjoiRGVmYXVsdCB0b2xlcmF0aW9ucyBhcHBsaWVkIHRvIGFsbCBEZXBsb3ltZW50LWJhc2VkIGNvbXBvbmVudHMuIFVzZSB0aGlzIHdoZW4geW91ciB0YXJnZXRcbm5vZGVzIGhhdmUgY3VzdG9tIHRhaW50cyB0aGF0IHBvZHMgbXVzdCB0b2xlcmF0ZS5cbkNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggcGluVG9Ob2Rlcy4iLCJkaXNwbGF5TmFtZSI6IlRvbGVyYXRpb25zIiwicGF0aCI6ImN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMifSx7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIHJlZmVyZW5jZWQgc2VjcmV0LiIsImRpc3BsYXlOYW1lIjoiTmFtZSIsInBhdGgiOiJpbWFnZVB1bGxTZWNyZXRzWzBdLm5hbWUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjppby5rdWJlcm5ldGVzOlNlY3JldCJdfSx7ImRlc2NyaXB0aW9uIjoiRGVwcmVjYXRlZCBmaWVsZC4gVGhpcyBmaWVsZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cblNldCB0aGlzIHRvIHRydWUgdG8gaGF2ZSB0aGUgb3BlcmF0b3IgY3JlYXRlIFNlY3VyaXR5Q29udGV4dENvbnN0cmFpbnRzIChTQ0NzKSBmb3IgdGhlIG9wZXJhbmRzLiBUaGlzXG5pc24ndCB1c3VhbGx5IG5lZWRlZCwgYW5kIG1heSBpbnRlcmZlcmUgd2l0aCBvdGhlciB3b3JrbG9hZHMuIiwiZGlzcGxheU5hbWUiOiJDcmVhdGUgU2VjdXJpdHlDb250ZXh0Q29uc3RyYWludHMgZm9yIE9wZXJhbmQiLCJwYXRoIjoibWlzYy5jcmVhdGVTQ0NzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmhpZGRlbiJdfSx7ImRlc2NyaXB0aW9uIjoiVGhlIGRlZmF1bHQgaXM6IHRydWUuIiwiZGlzcGxheU5hbWUiOiJFbmFibGVkIiwicGF0aCI6Im1vbml0b3Jpbmcub3BlbnNoaWZ0LmVuYWJsZWQiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6Ym9vbGVhblN3aXRjaCJdfSx7ImRlc2NyaXB0aW9uIjoiVG8gcHJvdmlkZSBzZWN1cml0eSBhdCB0aGUgbmV0d29yayBsZXZlbCwgdGhlIEFDUyBPcGVyYXRvciBjcmVhdGVzIE5ldHdvcmtQb2xpY3kgcmVzb3VyY2VzIGJ5IGRlZmF1bHQuIElmIHlvdSB3YW50IHRvIG1hbmFnZSB5b3VyIG93biBOZXR3b3JrUG9saWN5IG9iamVjdHMgdGhlbiBzZXQgdGhpcyB0byBcIkRpc2FibGVkXCIuXG5UaGUgZGVmYXVsdCBpczogRW5hYmxlZC4iLCJkaXNwbGF5TmFtZSI6Ik5ldHdvcmsgUG9saWNpZXMiLCJwYXRoIjoibmV0d29yay5wb2xpY2llcyJ9LHsiZGVzY3JpcHRpb24iOiJSZXNvdXJjZSBBUEkgdmVyc2lvbi4iLCJkaXNwbGF5TmFtZSI6IkFQSSBWZXJzaW9uIiwicGF0aCI6Im92ZXJsYXlzWzBdLmFwaVZlcnNpb24ifSx7ImRlc2NyaXB0aW9uIjoiUmVzb3VyY2Uga2luZC4iLCJkaXNwbGF5TmFtZSI6IktpbmQiLCJwYXRoIjoib3ZlcmxheXNbMF0ua2luZCJ9LHsiZGVzY3JpcHRpb24iOiJOYW1lIG9mIHJlc291cmNlLiIsImRpc3BsYXlOYW1lIjoiTmFtZSIsInBhdGgiOiJvdmVybGF5c1swXS5uYW1lIn0seyJkZXNjcmlwdGlvbiI6Ik9wdGlvbmFsIG1hcmtzIHRoZSBvdmVybGF5IGFzIG9wdGlvbmFsLlxuV2hlbiBPcHRpb25hbCBpcyB0cnVlLCBhbmQgdGhlIHNwZWNpZmllZCByZXNvdXJjZSBkb2VzIG5vdCBleGlzdCBpbiB0aGUgb3V0cHV0IG1hbmlmZXN0cywgdGhlIG92ZXJsYXkgd2lsbCBiZSBza2lwcGVkLCBhbmQgYSB3YXJuaW5nIHdpbGwgYmUgbG9nZ2VkLlxuV2hlbiBPcHRpb25hbCBpcyBmYWxzZSwgYW5kIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3QgaW4gdGhlIG91dHB1dCBtYW5pZmVzdHMsIGFuIGVycm9yIHdpbGwgYmUgdGhyb3duLiIsImRpc3BsYXlOYW1lIjoiT3B0aW9uYWwiLCJwYXRoIjoib3ZlcmxheXNbMF0ub3B0aW9uYWwifSx7ImRlc2NyaXB0aW9uIjoiTGlzdCBvZiBwYXRjaGVzIHRvIGFwcGx5IHRvIHJlc291cmNlLiIsImRpc3BsYXlOYW1lIjoiUGF0Y2hlcyIsInBhdGgiOiJvdmVybGF5c1swXS5wYXRjaGVzIn0seyJkZXNjcmlwdGlvbiI6IlBhdGggb2YgdGhlIGZvcm0gYS5ba2V5MTp2YWx1ZTFdLmIuWzp2YWx1ZTJdXG5XaGVyZSBba2V5MTp2YWx1ZTFdIGlzIGEgc2VsZWN0b3IgZm9yIGEga2V5LXZhbHVlIHBhaXIgdG8gaWRlbnRpZnkgYSBsaXN0IGVsZW1lbnQgYW5kIFs6dmFsdWVdIGlzIGEgdmFsdWVcbnNlbGVjdG9yIHRvIGlkZW50aWZ5IGEgbGlzdCBlbGVtZW50IGluIGEgbGVhZiBsaXN0LlxuQWxsIHBhdGggaW50ZXJtZWRpYXRlIG5vZGVzIG11c3QgZXhpc3QuIiwiZGlzcGxheU5hbWUiOiJQYXRoIiwicGF0aCI6Im92ZXJsYXlzWzBdLnBhdGNoZXNbMF0ucGF0aCJ9LHsiZGVzY3JpcHRpb24iOiJWYWx1ZSB0byBhZGQsIGRlbGV0ZSBvciByZXBsYWNlLlxuRm9yIGFkZCwgdGhlIHBhdGggc2hvdWxkIGJlIGEgbmV3IGxlYWYuXG5Gb3IgZGVsZXRlLCB2YWx1ZSBzaG91bGQgYmUgdW5zZXQuXG5Gb3IgcmVwbGFjZSwgcGF0aCBzaG91bGQgcmVmZXJlbmNlIGFuIGV4aXN0aW5nIG5vZGUuXG5BbGwgdmFsdWVzIGFyZSBzdHJpbmdzIGJ1dCBhcmUgY29udmVydGVkIGludG8gYXBwcm9wcmlhdGUgdHlwZSBiYXNlZCBvbiBzY2hlbWEuIiwiZGlzcGxheU5hbWUiOiJWYWx1ZSIsInBhdGgiOiJvdmVybGF5c1swXS5wYXRjaGVzWzBdLnZhbHVlIn0seyJkZXNjcmlwdGlvbiI6IlZlcmJhdGltIHZhbHVlIHRvIGFkZCwgZGVsZXRlIG9yIHJlcGxhY2UuXG5TYW1lIGFzIFZhbHVlLCBidXQgdGhlIGNvbnRlbnQgaXMgbm90IGludGVycHJldGVkIGFzIFlBTUwgYW5kIGlzIHRyZWF0ZWQgYXMgYSBsaXRlcmFsIHN0cmluZyBpbnN0ZWFkLlxuQXQgbGVhc3Qgb25lIG9mIFZhbHVlIGFuZCBWZXJiYXRpbSBtdXN0IGJlIGVtcHR5LiIsImRpc3BsYXlOYW1lIjoiVmVyYmF0aW0iLCJwYXRoIjoib3ZlcmxheXNbMF0ucGF0Y2hlc1swXS52ZXJiYXRpbSJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIENvbGxlY3RvciBjb250YWluZXIsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBjb2xsZWN0aW5nIHByb2Nlc3MgYW5kIG5ldHdvcmtpbmdcbmFjdGl2aXR5IGF0IHRoZSBob3N0IGxldmVsLiIsImRpc3BsYXlOYW1lIjoiQ29sbGVjdG9yIFNldHRpbmdzIiwicGF0aCI6InBlck5vZGUuY29sbGVjdG9yIn0seyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIGZvciB0aGUgQ29tcGxpYW5jZSBjb250YWluZXIsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBjaGVja2luZyBob3N0LWxldmVsIGNvbmZpZ3VyYXRpb25zLiIsImRpc3BsYXlOYW1lIjoiQ29tcGxpYW5jZSBTZXR0aW5ncyIsInBhdGgiOiJwZXJOb2RlLmNvbXBsaWFuY2UifSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgZm9yIHRoZSBOb2RlLUludmVudG9yeSBjb250YWluZXIsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBzY2FubmluZyB0aGUgTm9kZXMnIGZpbGVzeXN0ZW0uIiwiZGlzcGxheU5hbWUiOiJOb2RlIFNjYW5uaW5nIFNldHRpbmdzIiwicGF0aCI6InBlck5vZGUubm9kZUludmVudG9yeSJ9LHsiZGVzY3JpcHRpb24iOiJTZXR0aW5ncyBmb3IgdGhlIEZpbGUgQWN0aXZpdHkgTW9uaXRvcmluZyBjb250YWluZXIsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBtb25pdG9yaW5nIGZpbGUgb3BlcmF0aW9ucyBvbiB0aGUgTm9kZS4iLCJkaXNwbGF5TmFtZSI6IkZpbGUgQWN0aXZpdHkgTW9uaXRvcmluZyBTZXR0aW5ncyIsInBhdGgiOiJwZXJOb2RlLmZpbGVBY3Rpdml0eU1vbml0b3JpbmcifSx7ImRlc2NyaXB0aW9uIjoiVG8gZW5zdXJlIGNvbXByZWhlbnNpdmUgbW9uaXRvcmluZyBvZiB5b3VyIGNsdXN0ZXIgYWN0aXZpdHksIFJlZCBIYXQgQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eVxud2lsbCBydW4gc2VydmljZXMgb24gZXZlcnkgbm9kZSBpbiB0aGUgY2x1c3RlciwgaW5jbHVkaW5nIHRhaW50ZWQgbm9kZXMgYnkgZGVmYXVsdC4gSWYgeW91IGRvXG5ub3Qgd2FudCB0aGlzIGJlaGF2aW9yLCBwbGVhc2Ugc2VsZWN0ICdBdm9pZFRhaW50cycgaGVyZS5cblRoZSBkZWZhdWx0IGlzOiBUb2xlcmF0ZVRhaW50cy4iLCJkaXNwbGF5TmFtZSI6IlRhaW50IFRvbGVyYXRpb24iLCJwYXRoIjoicGVyTm9kZS50YWludFRvbGVyYXRpb24ifSx7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiZGlzcGxheU5hbWUiOiJIb3N0IEFsaWFzZXMiLCJwYXRoIjoicGVyTm9kZS5ob3N0QWxpYXNlcyJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgbWV0aG9kIGZvciBzeXN0ZW0tbGV2ZWwgZGF0YSBjb2xsZWN0aW9uLiBDT1JFX0JQRiBpcyByZWNvbW1lbmRlZC5cbklmIHlvdSBzZWxlY3QgXCJOb0NvbGxlY3Rpb25cIiwgeW91IHdpbGwgbm90IGJlIGFibGUgdG8gc2VlIGFueSBpbmZvcm1hdGlvbiBhYm91dCBuZXR3b3JrIGFjdGl2aXR5XG5hbmQgcHJvY2VzcyBleGVjdXRpb25zLiBUaGUgcmVtYWluaW5nIHNldHRpbmdzIGluIHRoaXMgc2VjdGlvbiB3aWxsIG5vdCBoYXZlIGFueSBlZmZlY3QuXG5UaGUgdmFsdWUgaXMgYSBzdWJqZWN0IG9mIGNvbnZlcnNpb24gYnkgdGhlIG9wZXJhdG9yIGlmIG5lZWRlZCwgZS5nLiB0b1xucmVtb3ZlIGRlcHJlY2F0ZWQgbWV0aG9kcy5cblRoZSBkZWZhdWx0IGlzOiBDT1JFX0JQRi4iLCJkaXNwbGF5TmFtZSI6IkNvbGxlY3Rpb24iLCJwYXRoIjoicGVyTm9kZS5jb2xsZWN0b3IuY29sbGVjdGlvbiIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpzZWxlY3Q6Q09SRV9CUEYiLCJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnNlbGVjdDpOb0NvbGxlY3Rpb24iXX0seyJkZXNjcmlwdGlvbiI6Ik9ic29sZXRlIGZpZWxkLiIsImRpc3BsYXlOYW1lIjoiSW1hZ2UgRmxhdm9yIiwicGF0aCI6InBlck5vZGUuY29sbGVjdG9yLmltYWdlRmxhdm9yIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmhpZGRlbiJdfSx7ImRlc2NyaXB0aW9uIjoiT2Jzb2xldGUgZmllbGQuIFRoaXMgZmllbGQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuIiwiZGlzcGxheU5hbWUiOiJGb3JjZSBDb2xsZWN0aW9uIiwicGF0aCI6InBlck5vZGUuY29sbGVjdG9yLmZvcmNlQ29sbGVjdGlvbiIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpoaWRkZW4iXX0seyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwiZGlzcGxheU5hbWUiOiJSZXNvdXJjZXMiLCJwYXRoIjoicGVyTm9kZS5jb2xsZWN0b3IucmVzb3VyY2VzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJlc291cmNlUmVxdWlyZW1lbnRzIl19LHsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsImRpc3BsYXlOYW1lIjoiUmVzb3VyY2VzIiwicGF0aCI6InBlck5vZGUuY29tcGxpYW5jZS5yZXNvdXJjZXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6cmVzb3VyY2VSZXF1aXJlbWVudHMiXX0seyJkZXNjcmlwdGlvbiI6IlNwZWNpZmllcyB3aGV0aGVyIEZpbGUgQWN0aXZpdHkgTW9uaXRvcmluZyBpcyBkZXBsb3llZC5cblRoZSBkZWZhdWx0IGlzOiBEaXNhYmxlZC4iLCJkaXNwbGF5TmFtZSI6Ik1vZGUiLCJwYXRoIjoicGVyTm9kZS5maWxlQWN0aXZpdHlNb25pdG9yaW5nLm1vZGUiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6c2VsZWN0OkVuYWJsZWQiLCJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnNlbGVjdDpEaXNhYmxlZCJdfSx7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJkaXNwbGF5TmFtZSI6IlJlc291cmNlcyIsInBhdGgiOiJwZXJOb2RlLmZpbGVBY3Rpdml0eU1vbml0b3JpbmcucmVzb3VyY2VzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJlc291cmNlUmVxdWlyZW1lbnRzIl19LHsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsImRpc3BsYXlOYW1lIjoiUmVzb3VyY2VzIiwicGF0aCI6InBlck5vZGUubm9kZUludmVudG9yeS5yZXNvdXJjZXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6cmVzb3VyY2VSZXF1aXJlbWVudHMiXX0seyJkZXNjcmlwdGlvbiI6IlNob3VsZCBwcm9jZXNzIGJhc2VsaW5lcyBiZSBhdXRvbWF0aWNhbGx5IGxvY2tlZCB3aGVuIHRoZSBvYnNlcnZhdGlvbiBwZXJpb2QgKDEgaG91ciBieSBkZWZhdWx0KSBlbmRzLlxuVGhlIGRlZmF1bHQgaXM6IERpc2FibGVkLiIsImRpc3BsYXlOYW1lIjoiQXV0byBMb2NrIiwicGF0aCI6InByb2Nlc3NCYXNlbGluZXMuYXV0b0xvY2siLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6c2VsZWN0OkVuYWJsZWQiLCJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnNlbGVjdDpEaXNhYmxlZCJdfSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IGRvIG5vdCB3YW50IHRvIGRlcGxveSB0aGUgUmVkIEhhdCBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5IFNjYW5uZXIsIHlvdSBjYW4gZGlzYWJsZSBpdCBoZXJlXG4obm90IHJlY29tbWVuZGVkKS5cbklmIHlvdSBkbyBzbywgYWxsIHRoZSBzZXR0aW5ncyBpbiB0aGlzIHNlY3Rpb24gd2lsbCBoYXZlIG5vIGVmZmVjdC5cblRoZSBkZWZhdWx0IGlzOiBBdXRvU2Vuc2UuIiwiZGlzcGxheU5hbWUiOiJTY2FubmVyIENvbXBvbmVudCIsInBhdGgiOiJzY2FubmVyLnNjYW5uZXJDb21wb25lbnQifSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcGVydGFpbmluZyB0byB0aGUgYW5hbHl6ZXIgZGVwbG95bWVudCwgc3VjaCBhcyBmb3IgYXV0b3NjYWxpbmcuIiwiZGlzcGxheU5hbWUiOiJBbmFseXplciIsInBhdGgiOiJzY2FubmVyLmFuYWx5emVyIn0seyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIHBlcnRhaW5pbmcgdG8gdGhlIGRhdGFiYXNlIHVzZWQgYnkgdGhlIFJlZCBIYXQgQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eSBTY2FubmVyLiIsImRpc3BsYXlOYW1lIjoiREIiLCJwYXRoIjoic2Nhbm5lci5kYiJ9LHsiZGVzY3JpcHRpb24iOiJDb250cm9scyB0aGUgbnVtYmVyIG9mIGFuYWx5emVyIHJlcGxpY2FzIGFuZCBhdXRvc2NhbGluZy4iLCJkaXNwbGF5TmFtZSI6IlNjYWxpbmciLCJwYXRoIjoic2Nhbm5lci5hbmFseXplci5zY2FsaW5nIn0seyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwiZGlzcGxheU5hbWUiOiJSZXNvdXJjZXMiLCJwYXRoIjoic2Nhbm5lci5hbmFseXplci5yZXNvdXJjZXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6cmVzb3VyY2VSZXF1aXJlbWVudHMiXX0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSBhIG5vZGUgc2VsZWN0b3IgaGVyZS5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLm5vZGVTZWxlY3Rvci4iLCJkaXNwbGF5TmFtZSI6Ik5vZGUgU2VsZWN0b3IiLCJwYXRoIjoic2Nhbm5lci5hbmFseXplci5ub2RlU2VsZWN0b3IifSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJkaXNwbGF5TmFtZSI6IlRvbGVyYXRpb25zIiwicGF0aCI6InNjYW5uZXIuYW5hbHl6ZXIudG9sZXJhdGlvbnMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dG9sZXJhdGlvbnMiXX0seyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsImRpc3BsYXlOYW1lIjoiSG9zdCBBbGlhc2VzIiwicGF0aCI6InNjYW5uZXIuYW5hbHl6ZXIuaG9zdEFsaWFzZXMifSx7ImRlc2NyaXB0aW9uIjoiV2hlbiBlbmFibGVkLCB0aGUgbnVtYmVyIG9mIGNvbXBvbmVudCByZXBsaWNhcyBpcyBtYW5hZ2VkIGR5bmFtaWNhbGx5IGJhc2VkIG9uIHRoZSBsb2FkLCB3aXRoaW4gdGhlIGxpbWl0c1xuc3BlY2lmaWVkIGJlbG93LlxuVGhlIGRlZmF1bHQgaXM6IEVuYWJsZWQuIiwiZGlzcGxheU5hbWUiOiJBdXRvc2NhbGluZyIsInBhdGgiOiJzY2FubmVyLmFuYWx5emVyLnNjYWxpbmcuYXV0b1NjYWxpbmcifSx7ImRlc2NyaXB0aW9uIjoiV2hlbiBhdXRvc2NhbGluZyBpcyBkaXNhYmxlZCwgdGhlIG51bWJlciBvZiByZXBsaWNhcyB3aWxsIGFsd2F5cyBiZSBjb25maWd1cmVkIHRvIG1hdGNoIHRoaXMgdmFsdWUuXG5UaGUgZGVmYXVsdCBpczogMy4iLCJkaXNwbGF5TmFtZSI6IkRlZmF1bHQgUmVwbGljYXMiLCJwYXRoIjoic2Nhbm5lci5hbmFseXplci5zY2FsaW5nLnJlcGxpY2FzIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBkZWZhdWx0IGlzOiAyLiIsImRpc3BsYXlOYW1lIjoiQXV0b3NjYWxpbmcgTWluaW11bSBSZXBsaWNhcyIsInBhdGgiOiJzY2FubmVyLmFuYWx5emVyLnNjYWxpbmcubWluUmVwbGljYXMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6ZmllbGREZXBlbmRlbmN5OnNjYW5uZXIuYW5hbHl6ZXIuc2NhbGluZy5hdXRvU2NhbGluZzpFbmFibGVkIl19LHsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogNS4iLCJkaXNwbGF5TmFtZSI6IkF1dG9zY2FsaW5nIE1heGltdW0gUmVwbGljYXMiLCJwYXRoIjoic2Nhbm5lci5hbmFseXplci5zY2FsaW5nLm1heFJlcGxpY2FzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpzY2FubmVyLmFuYWx5emVyLnNjYWxpbmcuYXV0b1NjYWxpbmc6RW5hYmxlZCJdfSx7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJkaXNwbGF5TmFtZSI6IlJlc291cmNlcyIsInBhdGgiOiJzY2FubmVyLmRiLnJlc291cmNlcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpyZXNvdXJjZVJlcXVpcmVtZW50cyJdfSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsImRpc3BsYXlOYW1lIjoiTm9kZSBTZWxlY3RvciIsInBhdGgiOiJzY2FubmVyLmRiLm5vZGVTZWxlY3RvciJ9LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgdG9sZXJhdGlvbnMgb2YgdGFpbnRlZCBub2Rlcy5cblRoaXMgc2V0dGluZyBvdmVycmlkZXMgc3BlYy5jdXN0b21pemUuZGVwbG95bWVudERlZmF1bHRzLnRvbGVyYXRpb25zLiIsImRpc3BsYXlOYW1lIjoiVG9sZXJhdGlvbnMiLCJwYXRoIjoic2Nhbm5lci5kYi50b2xlcmF0aW9ucyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTp0b2xlcmF0aW9ucyJdfSx7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiZGlzcGxheU5hbWUiOiJIb3N0IEFsaWFzZXMiLCJwYXRoIjoic2Nhbm5lci5kYi5ob3N0QWxpYXNlcyJ9LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0byBlbmFibGUgdGhlIFNjYW5uZXIgVjQgY29tcG9uZW50IHNldCB0aGlzIHRvIFwiQXV0b1NlbnNlXCIuXG5BIHZhbHVlIG9mIFwiQXV0b1NlbnNlXCIgbWVhbnMgdGhhdCBTY2FubmVyIFY0IHNob3VsZCBiZSBpbnN0YWxsZWQsXG51bmxlc3MgdGhlcmUgaXMgYSBDZW50cmFsIHJlc291cmNlIGluIHRoZSBzYW1lIG5hbWVzcGFjZS5cbkluIHRoYXQgY2FzZSB0eXBpY2FsbHkgYSBjZW50cmFsIFNjYW5uZXIgVjQgd2lsbCBiZSBkZXBsb3llZCBhcyBhIGNvbXBvbmVudCBvZiBDZW50cmFsLlxuQSB2YWx1ZSBvZiBcIkRpc2FibGVkXCIgbWVhbnMgdGhhdCBTY2FubmVyIFY0IHNob3VsZCBub3QgYmUgaW5zdGFsbGVkLlxuSWYgdGhpcyBmaWVsZCBpcyBub3Qgc3BlY2lmaWVkIG9yIHNldCB0byBcIkRlZmF1bHRcIiwgdGhlIGZvbGxvd2luZyBkZWZhdWx0aW5nIHRha2VzIHBsYWNlOlxuKiBmb3IgdXBncmFkZXMgdG8gNC44IGZyb20gcHJldmlvdXMgcmVsZWFzZXMsIHRoZSBkZWZhdWx0IGlzOiBEaXNhYmxlZDtcbiogZm9yIG5ldyBpbnN0YWxsYXRpb25zIHN0YXJ0aW5nIHdpdGggQUNTIDQuOCwgdGhlIGRlZmF1bHQgaXM6IEF1dG9TZW5zZS4iLCJkaXNwbGF5TmFtZSI6IlNjYW5uZXIgVjQgY29tcG9uZW50IiwicGF0aCI6InNjYW5uZXJWNC5zY2FubmVyQ29tcG9uZW50In0seyJkZXNjcmlwdGlvbiI6IlNldHRpbmdzIHBlcnRhaW5pbmcgdG8gdGhlIGluZGV4ZXIgZGVwbG95bWVudC4iLCJkaXNwbGF5TmFtZSI6IkluZGV4ZXIiLCJwYXRoIjoic2Nhbm5lclY0LmluZGV4ZXIiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6ZmllbGREZXBlbmRlbmN5OnNjYW5uZXJWNC5zY2FubmVyQ29tcG9uZW50OkF1dG9TZW5zZSJdfSx7ImRlc2NyaXB0aW9uIjoiU2V0dGluZ3MgcGVydGFpbmluZyB0byB0aGUgREIgZGVwbG95bWVudC4iLCJkaXNwbGF5TmFtZSI6IkRCIiwicGF0aCI6InNjYW5uZXJWNC5kYiIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6c2Nhbm5lclY0LnNjYW5uZXJDb21wb25lbnQ6QXV0b1NlbnNlIl19LHsiZGVzY3JpcHRpb24iOiJDb25maWd1cmVzIG1vbml0b3JpbmcgZW5kcG9pbnQgZm9yIFNjYW5uZXIgVjQuIFRoZSBtb25pdG9yaW5nIGVuZHBvaW50XG5hbGxvd3Mgb3RoZXIgc2VydmljZXMgdG8gY29sbGVjdCBtZXRyaWNzIGZyb20gU2Nhbm5lciBWNCwgcHJvdmlkZWQgaW5cblByb21ldGhldXMgY29tcGF0aWJsZSBmb3JtYXQuIiwiZGlzcGxheU5hbWUiOiJNb25pdG9yaW5nIiwicGF0aCI6InNjYW5uZXJWNC5tb25pdG9yaW5nIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkRGVwZW5kZW5jeTpzY2FubmVyVjQuc2Nhbm5lckNvbXBvbmVudDpBdXRvU2Vuc2UiXX0seyJkZXNjcmlwdGlvbiI6IkNvbmZpZ3VyZXMgaG93IFNjYW5uZXIgVjQgc2hvdWxkIHN0b3JlIGl0cyBwZXJzaXN0ZW50IGRhdGEuXG5Zb3UgY2FuIHVzZSBhIHBlcnNpc3RlbnQgdm9sdW1lIGNsYWltICh0aGUgcmVjb21tZW5kZWQgZGVmYXVsdCksIGEgaG9zdCBwYXRoLFxub3IgYW4gZW1wdHlEaXIgdm9sdW1lIGlmIFNjYW5uZXIgVjQgaXMgcnVubmluZyBvbiBhIHNlY3VyZWQgY2x1c3RlciB3aXRob3V0IGRlZmF1bHQgU3RvcmFnZUNsYXNzLiIsImRpc3BsYXlOYW1lIjoiUGVyc2lzdGVuY2UiLCJwYXRoIjoic2Nhbm5lclY0LmRiLnBlcnNpc3RlbmNlIn0seyJkZXNjcmlwdGlvbiI6IkFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlc291cmNlIHNldHRpbmdzIGZvciB0aGlzIGNvbXBvbmVudC4gUGxlYXNlIGNvbnN1bHQgdGhlIGRvY3VtZW50YXRpb25cbmZvciBhbiBvdmVydmlldyBvZiBkZWZhdWx0IHJlc291cmNlIHJlcXVpcmVtZW50cyBhbmQgYSBzaXppbmcgZ3VpZGUuIiwiZGlzcGxheU5hbWUiOiJSZXNvdXJjZXMiLCJwYXRoIjoic2Nhbm5lclY0LmRiLnJlc291cmNlcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpyZXNvdXJjZVJlcXVpcmVtZW50cyJdfSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsImRpc3BsYXlOYW1lIjoiTm9kZSBTZWxlY3RvciIsInBhdGgiOiJzY2FubmVyVjQuZGIubm9kZVNlbGVjdG9yIn0seyJkZXNjcmlwdGlvbiI6IklmIHlvdSB3YW50IHRoaXMgY29tcG9uZW50IHRvIG9ubHkgcnVuIG9uIHNwZWNpZmljIG5vZGVzLCB5b3UgY2FuIGNvbmZpZ3VyZSB0b2xlcmF0aW9ucyBvZiB0YWludGVkIG5vZGVzLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMudG9sZXJhdGlvbnMuIiwiZGlzcGxheU5hbWUiOiJUb2xlcmF0aW9ucyIsInBhdGgiOiJzY2FubmVyVjQuZGIudG9sZXJhdGlvbnMiLCJ4LWRlc2NyaXB0b3JzIjpbInVybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dG9sZXJhdGlvbnMiXX0seyJkZXNjcmlwdGlvbiI6Ikhvc3RBbGlhc2VzIGFsbG93cyBjb25maWd1cmluZyBhZGRpdGlvbmFsIGhvc3RuYW1lcyB0byByZXNvbHZlIGluIHRoZSBwb2QncyBob3N0cyBmaWxlLiIsImRpc3BsYXlOYW1lIjoiSG9zdCBBbGlhc2VzIiwicGF0aCI6InNjYW5uZXJWNC5kYi5ob3N0QWxpYXNlcyJ9LHsiZGVzY3JpcHRpb24iOiJVc2VzIGEgS3ViZXJuZXRlcyBwZXJzaXN0ZW50IHZvbHVtZSBjbGFpbSAoUFZDKSB0byBtYW5hZ2UgdGhlIHN0b3JhZ2UgbG9jYXRpb24gb2YgcGVyc2lzdGVudCBkYXRhLlxuUmVjb21tZW5kZWQgZm9yIG1vc3QgdXNlcnMuIiwiZGlzcGxheU5hbWUiOiJQZXJzaXN0ZW50IHZvbHVtZSBjbGFpbSIsInBhdGgiOiJzY2FubmVyVjQuZGIucGVyc2lzdGVuY2UucGVyc2lzdGVudFZvbHVtZUNsYWltIn0seyJkZXNjcmlwdGlvbiI6IlN0b3JlcyBwZXJzaXN0ZW50IGRhdGEgaW4gYSBkaXJlY3Rvcnkgb24gdGhlIGhvc3QuIFRoaXMgaXMgbm90IHJlY29tbWVuZGVkLCBhbmQgc2hvdWxkIG9ubHlcbmJlIHVzZWQgdG9nZXRoZXIgd2l0aCBhIG5vZGUgc2VsZWN0b3IgKG9ubHkgYXZhaWxhYmxlIGluIFlBTUwgdmlldykuIiwiZGlzcGxheU5hbWUiOiJIb3N0IHBhdGgiLCJwYXRoIjoic2Nhbm5lclY0LmRiLnBlcnNpc3RlbmNlLmhvc3RQYXRoIn0seyJkZXNjcmlwdGlvbiI6IlRoZSBwYXRoIG9uIHRoZSBob3N0IHJ1bm5pbmcgQ2VudHJhbC4iLCJkaXNwbGF5TmFtZSI6IlBhdGgiLCJwYXRoIjoic2Nhbm5lclY0LmRiLnBlcnNpc3RlbmNlLmhvc3RQYXRoLnBhdGgifSx7ImRlc2NyaXB0aW9uIjoiVGhlIG5hbWUgb2YgdGhlIFBWQyB0byBtYW5hZ2UgcGVyc2lzdGVudCBkYXRhLiBJZiBubyBQVkMgd2l0aCB0aGUgZ2l2ZW4gbmFtZSBleGlzdHMsIGl0IHdpbGwgYmVcbmNyZWF0ZWQuXG5UaGUgZGVmYXVsdCBpczogc2Nhbm5lci12NC1kYi4iLCJkaXNwbGF5TmFtZSI6IkNsYWltIE5hbWUiLCJwYXRoIjoic2Nhbm5lclY0LmRiLnBlcnNpc3RlbmNlLnBlcnNpc3RlbnRWb2x1bWVDbGFpbS5jbGFpbU5hbWUifSx7ImRlc2NyaXB0aW9uIjoiVGhlIHNpemUgb2YgdGhlIHBlcnNpc3RlbnQgdm9sdW1lIHdoZW4gY3JlYXRlZCB0aHJvdWdoIHRoZSBjbGFpbS4gSWYgYSBjbGFpbSB3YXMgYXV0b21hdGljYWxseSBjcmVhdGVkLFxudGhpcyBjYW4gYmUgdXNlZCBhZnRlciB0aGUgaW5pdGlhbCBkZXBsb3ltZW50IHRvIHJlc2l6ZSAoZ3JvdykgdGhlIHZvbHVtZSAob25seSBzdXBwb3J0ZWQgYnkgc29tZVxuc3RvcmFnZSBjbGFzcyBjb250cm9sbGVycykuIiwiZGlzcGxheU5hbWUiOiJTaXplIiwicGF0aCI6InNjYW5uZXJWNC5kYi5wZXJzaXN0ZW5jZS5wZXJzaXN0ZW50Vm9sdW1lQ2xhaW0uc2l6ZSIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTp0ZXh0Il19LHsiZGVzY3JpcHRpb24iOiJUaGUgbmFtZSBvZiB0aGUgc3RvcmFnZSBjbGFzcyB0byB1c2UgZm9yIHRoZSBQVkMuIElmIHlvdXIgY2x1c3RlciBpcyBub3QgY29uZmlndXJlZCB3aXRoIGEgZGVmYXVsdCBzdG9yYWdlXG5jbGFzcywgeW91IG11c3Qgc2VsZWN0IGEgdmFsdWUgaGVyZS4iLCJkaXNwbGF5TmFtZSI6IlN0b3JhZ2UgQ2xhc3MiLCJwYXRoIjoic2Nhbm5lclY0LmRiLnBlcnNpc3RlbmNlLnBlcnNpc3RlbnRWb2x1bWVDbGFpbS5zdG9yYWdlQ2xhc3NOYW1lIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6aW8ua3ViZXJuZXRlczpTdG9yYWdlQ2xhc3MiXX0seyJkZXNjcmlwdGlvbiI6IkNvbnRyb2xzIHRoZSBudW1iZXIgb2YgcmVwbGljYXMgYW5kIGF1dG9zY2FsaW5nIGZvciB0aGlzIGNvbXBvbmVudC4iLCJkaXNwbGF5TmFtZSI6IlNjYWxpbmciLCJwYXRoIjoic2Nhbm5lclY0LmluZGV4ZXIuc2NhbGluZyJ9LHsiZGVzY3JpcHRpb24iOiJBbGxvd3Mgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCByZXNvdXJjZSBzZXR0aW5ncyBmb3IgdGhpcyBjb21wb25lbnQuIFBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uXG5mb3IgYW4gb3ZlcnZpZXcgb2YgZGVmYXVsdCByZXNvdXJjZSByZXF1aXJlbWVudHMgYW5kIGEgc2l6aW5nIGd1aWRlLiIsImRpc3BsYXlOYW1lIjoiUmVzb3VyY2VzIiwicGF0aCI6InNjYW5uZXJWNC5pbmRleGVyLnJlc291cmNlcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpyZXNvdXJjZVJlcXVpcmVtZW50cyJdfSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIGEgbm9kZSBzZWxlY3RvciBoZXJlLlxuVGhpcyBzZXR0aW5nIG92ZXJyaWRlcyBzcGVjLmN1c3RvbWl6ZS5kZXBsb3ltZW50RGVmYXVsdHMubm9kZVNlbGVjdG9yLiIsImRpc3BsYXlOYW1lIjoiTm9kZSBTZWxlY3RvciIsInBhdGgiOiJzY2FubmVyVjQuaW5kZXhlci5ub2RlU2VsZWN0b3IifSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJkaXNwbGF5TmFtZSI6IlRvbGVyYXRpb25zIiwicGF0aCI6InNjYW5uZXJWNC5pbmRleGVyLnRvbGVyYXRpb25zIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnRvbGVyYXRpb25zIl19LHsiZGVzY3JpcHRpb24iOiJIb3N0QWxpYXNlcyBhbGxvd3MgY29uZmlndXJpbmcgYWRkaXRpb25hbCBob3N0bmFtZXMgdG8gcmVzb2x2ZSBpbiB0aGUgcG9kJ3MgaG9zdHMgZmlsZS4iLCJkaXNwbGF5TmFtZSI6Ikhvc3QgQWxpYXNlcyIsInBhdGgiOiJzY2FubmVyVjQuaW5kZXhlci5ob3N0QWxpYXNlcyJ9LHsiZGVzY3JpcHRpb24iOiJXaGVuIGVuYWJsZWQsIHRoZSBudW1iZXIgb2YgY29tcG9uZW50IHJlcGxpY2FzIGlzIG1hbmFnZWQgZHluYW1pY2FsbHkgYmFzZWQgb24gdGhlIGxvYWQsIHdpdGhpbiB0aGUgbGltaXRzXG5zcGVjaWZpZWQgYmVsb3cuXG5UaGUgZGVmYXVsdCBpczogRW5hYmxlZC4iLCJkaXNwbGF5TmFtZSI6IkF1dG9zY2FsaW5nIiwicGF0aCI6InNjYW5uZXJWNC5pbmRleGVyLnNjYWxpbmcuYXV0b1NjYWxpbmcifSx7ImRlc2NyaXB0aW9uIjoiV2hlbiBhdXRvc2NhbGluZyBpcyBkaXNhYmxlZCwgdGhlIG51bWJlciBvZiByZXBsaWNhcyB3aWxsIGFsd2F5cyBiZSBjb25maWd1cmVkIHRvIG1hdGNoIHRoaXMgdmFsdWUuXG5UaGUgZGVmYXVsdCBpczogMy4iLCJkaXNwbGF5TmFtZSI6IkRlZmF1bHQgUmVwbGljYXMiLCJwYXRoIjoic2Nhbm5lclY0LmluZGV4ZXIuc2NhbGluZy5yZXBsaWNhcyJ9LHsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogMi4iLCJkaXNwbGF5TmFtZSI6IkF1dG9zY2FsaW5nIE1pbmltdW0gUmVwbGljYXMiLCJwYXRoIjoic2Nhbm5lclY0LmluZGV4ZXIuc2NhbGluZy5taW5SZXBsaWNhcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6c2Nhbm5lclY0LmluZGV4ZXIuc2NhbGluZy5hdXRvU2NhbGluZzpFbmFibGVkIl19LHsiZGVzY3JpcHRpb24iOiJUaGUgZGVmYXVsdCBpczogNS4iLCJkaXNwbGF5TmFtZSI6IkF1dG9zY2FsaW5nIE1heGltdW0gUmVwbGljYXMiLCJwYXRoIjoic2Nhbm5lclY0LmluZGV4ZXIuc2NhbGluZy5tYXhSZXBsaWNhcyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpmaWVsZERlcGVuZGVuY3k6c2Nhbm5lclY0LmluZGV4ZXIuc2NhbGluZy5hdXRvU2NhbGluZzpFbmFibGVkIl19LHsiZGVzY3JpcHRpb24iOiJFeHBvc2UgdGhlIG1vbml0b3JpbmcgZW5kcG9pbnQuIEEgbmV3IHNlcnZpY2UsIFwibW9uaXRvcmluZ1wiLFxud2l0aCBwb3J0IDkwOTAsIHdpbGwgYmUgY3JlYXRlZCBhcyB3ZWxsIGFzIGEgbmV0d29yayBwb2xpY3kgYWxsb3dpbmdcbmluYm91bmQgY29ubmVjdGlvbnMgdG8gdGhlIHBvcnQuIiwiZGlzcGxheU5hbWUiOiJFeHBvc2UgRW5kcG9pbnQiLCJwYXRoIjoic2Nhbm5lclY0Lm1vbml0b3JpbmcuZXhwb3NlRW5kcG9pbnQifSx7ImRlc2NyaXB0aW9uIjoiQWxsb3dzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgcmVzb3VyY2Ugc2V0dGluZ3MgZm9yIHRoaXMgY29tcG9uZW50LiBQbGVhc2UgY29uc3VsdCB0aGUgZG9jdW1lbnRhdGlvblxuZm9yIGFuIG92ZXJ2aWV3IG9mIGRlZmF1bHQgcmVzb3VyY2UgcmVxdWlyZW1lbnRzIGFuZCBhIHNpemluZyBndWlkZS4iLCJkaXNwbGF5TmFtZSI6IlJlc291cmNlcyIsInBhdGgiOiJzZW5zb3IucmVzb3VyY2VzIiwieC1kZXNjcmlwdG9ycyI6WyJ1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJlc291cmNlUmVxdWlyZW1lbnRzIl19LHsiZGVzY3JpcHRpb24iOiJJZiB5b3Ugd2FudCB0aGlzIGNvbXBvbmVudCB0byBvbmx5IHJ1biBvbiBzcGVjaWZpYyBub2RlcywgeW91IGNhbiBjb25maWd1cmUgYSBub2RlIHNlbGVjdG9yIGhlcmUuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy5ub2RlU2VsZWN0b3IuIiwiZGlzcGxheU5hbWUiOiJOb2RlIFNlbGVjdG9yIiwicGF0aCI6InNlbnNvci5ub2RlU2VsZWN0b3IifSx7ImRlc2NyaXB0aW9uIjoiSWYgeW91IHdhbnQgdGhpcyBjb21wb25lbnQgdG8gb25seSBydW4gb24gc3BlY2lmaWMgbm9kZXMsIHlvdSBjYW4gY29uZmlndXJlIHRvbGVyYXRpb25zIG9mIHRhaW50ZWQgbm9kZXMuXG5UaGlzIHNldHRpbmcgb3ZlcnJpZGVzIHNwZWMuY3VzdG9taXplLmRlcGxveW1lbnREZWZhdWx0cy50b2xlcmF0aW9ucy4iLCJkaXNwbGF5TmFtZSI6IlRvbGVyYXRpb25zIiwicGF0aCI6InNlbnNvci50b2xlcmF0aW9ucyIsIngtZGVzY3JpcHRvcnMiOlsidXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTp0b2xlcmF0aW9ucyJdfSx7ImRlc2NyaXB0aW9uIjoiSG9zdEFsaWFzZXMgYWxsb3dzIGNvbmZpZ3VyaW5nIGFkZGl0aW9uYWwgaG9zdG5hbWVzIHRvIHJlc29sdmUgaW4gdGhlIHBvZCdzIGhvc3RzIGZpbGUuIiwiZGlzcGxheU5hbWUiOiJIb3N0IEFsaWFzZXMiLCJwYXRoIjoic2Vuc29yLmhvc3RBbGlhc2VzIn0seyJkZXNjcmlwdGlvbiI6IkFsbG93cyB5b3UgdG8gc3BlY2lmeSBhZGRpdGlvbmFsIHRydXN0ZWQgUm9vdCBDQXMuIiwiZGlzcGxheU5hbWUiOiJBZGRpdGlvbmFsIENBcyIsInBhdGgiOiJ0bHMuYWRkaXRpb25hbENBcyJ9XSwic3RhdHVzRGVzY3JpcHRvcnMiOlt7ImRlc2NyaXB0aW9uIjoiVGhlIGRlcGxveWVkIHZlcnNpb24gb2YgdGhlIHByb2R1Y3QuIiwiZGlzcGxheU5hbWUiOiJQcm9kdWN0IFZlcnNpb24iLCJwYXRoIjoicHJvZHVjdFZlcnNpb24ifSx7ImRlc2NyaXB0aW9uIjoiVGhlIGFzc2lnbmVkIGNsdXN0ZXIgbmFtZSBwZXIgdGhlIHNwZWMuIFRoaXMgY2Fubm90IGJlIGNoYW5nZWQgYWZ0ZXJ3YXJkcy4gSWYgeW91IG5lZWQgdG8gY2hhbmdlIHRoZVxuY2x1c3RlciBuYW1lLCBwbGVhc2UgZGVsZXRlIGFuZCByZWNyZWF0ZSB0aGlzIHJlc291cmNlLiIsImRpc3BsYXlOYW1lIjoiQ2x1c3RlciBOYW1lIiwicGF0aCI6ImNsdXN0ZXJOYW1lIn0seyJkZXNjcmlwdGlvbiI6Ik9ic2VydmVkR2VuZXJhdGlvbiBpcyB0aGUgZ2VuZXJhdGlvbiBtb3N0IHJlY2VudGx5IG9ic2VydmVkIGJ5IHRoZSBjb250cm9sbGVyLiIsImRpc3BsYXlOYW1lIjoiT2JzZXJ2ZWQgR2VuZXJhdGlvbiIsInBhdGgiOiJvYnNlcnZlZEdlbmVyYXRpb24ifV0sInZlcnNpb24iOiJ2MWFscGhhMSJ9LHsiZGVzY3JpcHRpb24iOiJTZWN1cml0eVBvbGljeSBpcyB0aGUgc2NoZW1hIGZvciB0aGUgcG9saWNpZXMgQVBJLiIsImRpc3BsYXlOYW1lIjoiU2VjdXJpdHkgUG9saWN5Iiwia2luZCI6IlNlY3VyaXR5UG9saWN5IiwibmFtZSI6InNlY3VyaXR5cG9saWNpZXMuY29uZmlnLnN0YWNrcm94LmlvIiwicmVzb3VyY2VzIjpbeyJraW5kIjoiRGVwbG95bWVudCIsIm5hbWUiOiIiLCJ2ZXJzaW9uIjoidjEifV0sInZlcnNpb24iOiJ2MWFscGhhMSJ9XX0sImRlc2NyaXB0aW9uIjoiIyMgV2h5IHVzZSBSZWQgSGF0IEFkdmFuY2VkIENsdXN0ZXIgU2VjdXJpdHkgZm9yIEt1YmVybmV0ZXM/XG5cblByb3RlY3RpbmcgY2xvdWQtbmF0aXZlIGFwcGxpY2F0aW9ucyByZXF1aXJlcyBzaWduaWZpY2FudCBjaGFuZ2VzIGluIGhvdyB3ZSBhcHByb2FjaCBzZWN1cml0eeKAlHdlIG11c3QgYXBwbHkgY29udHJvbHMgZWFybGllciBpbiB0aGUgYXBwbGljYXRpb24gZGV2ZWxvcG1lbnQgbGlmZSBjeWNsZSwgdXNlIHRoZSBpbmZyYXN0cnVjdHVyZSBpdHNlbGYgdG8gYXBwbHkgY29udHJvbHMsIGFuZCBrZWVwIHVwIHdpdGggaW5jcmVhc2luZ2x5IHJhcGlkIHJlbGVhc2Ugc2NoZWR1bGVzLlxuXG5cblJlZCBIYXTCriBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5IGZvciBLdWJlcm5ldGVzLCBwb3dlcmVkIGJ5IFN0YWNrUm94IHRlY2hub2xvZ3ksIHByb3RlY3RzIHlvdXIgdml0YWwgYXBwbGljYXRpb25zIGFjcm9zcyBidWlsZCwgZGVwbG95LCBhbmQgcnVudGltZS4gT3VyIHNvZnR3YXJlIGRlcGxveXMgaW4geW91ciBpbmZyYXN0cnVjdHVyZSBhbmQgaW50ZWdyYXRlcyB3aXRoIHlvdXIgRGV2T3BzIHRvb2xpbmcgYW5kIHdvcmtmbG93cyB0byBkZWxpdmVyIGJldHRlciBzZWN1cml0eSBhbmQgY29tcGxpYW5jZS4gVGhlIHBvbGljeSBlbmdpbmUgaW5jbHVkZXMgaHVuZHJlZHMgb2YgYnVpbHQtaW4gY29udHJvbHMgdG8gZW5mb3JjZSBEZXZPcHMgYW5kIHNlY3VyaXR5IGJlc3QgcHJhY3RpY2VzLCBpbmR1c3RyeSBzdGFuZGFyZHMgc3VjaCBhcyBDSVMgQmVuY2htYXJrcyBhbmQgTmF0aW9uYWwgSW5zdGl0dXRlIG9mIFN0YW5kYXJkcyBUZWNobm9sb2d5IChOSVNUKSBndWlkZWxpbmVzLCBjb25maWd1cmF0aW9uIG1hbmFnZW1lbnQgb2YgYm90aCBjb250YWluZXJzIGFuZCBLdWJlcm5ldGVzLCBhbmQgcnVudGltZSBzZWN1cml0eS5cblxuUmVkIEhhdCBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5IGZvciBLdWJlcm5ldGVzIHByb3ZpZGVzIGEgS3ViZXJuZXRlcy1uYXRpdmUgYXJjaGl0ZWN0dXJlIGZvciBjb250YWluZXIgc2VjdXJpdHksIGVuYWJsaW5nIERldk9wcyBhbmQgSW5mb1NlYyB0ZWFtcyB0byBvcGVyYXRpb25hbGl6ZSBzZWN1cml0eS5cblxuIyMgRmVhdHVyZXMgYW5kIEJlbmVmaXRzXG5cbioqS3ViZXJuZXRlcy1uYXRpdmUgc2VjdXJpdHk6KipcbjEuIEluY3JlYXNlcyBwcm90ZWN0aW9uLlxuMS4gRWxpbWluYXRlcyBibGluZCBzcG90cywgcHJvdmlkaW5nIHN0YWZmIHdpdGggaW5zaWdodHMgaW50byBjcml0aWNhbCB2dWxuZXJhYmlsaXRpZXMgYW5kIHRocmVhdCB2ZWN0b3JzLlxuMS4gUmVkdWNlcyB0aW1lIGFuZCBjb3N0cy5cbjEuIFJlZHVjZXMgdGhlIHRpbWUgYW5kIGVmZm9ydCBuZWVkZWQgdG8gaW1wbGVtZW50IHNlY3VyaXR5IGFuZCBzdHJlYW1saW5lcyBzZWN1cml0eSBhbmFseXNpcywgaW52ZXN0aWdhdGlvbiwgYW5kIHJlbWVkaWF0aW9uIHVzaW5nIHRoZSByaWNoIGNvbnRleHQgS3ViZXJuZXRlcyBwcm92aWRlcy5cbjEuIEluY3JlYXNlcyBzY2FsYWJpbGl0eSBhbmQgcG9ydGFiaWxpdHkuXG4xLiBQcm92aWRlcyBzY2FsYWJpbGl0eSBhbmQgcmVzaWxpZW5jeSBuYXRpdmUgdG8gS3ViZXJuZXRlcywgYXZvaWRpbmcgb3BlcmF0aW9uYWwgY29uZmxpY3QgYW5kIGNvbXBsZXhpdHkgdGhhdCBjYW4gcmVzdWx0IGZyb20gb3V0LW9mLWJhbmQgc2VjdXJpdHkgY29udHJvbHMuXG5cbiMjIFVzaW5nIHRoZSBSSEFDUyBPcGVyYXRvclxuXG4qKlJIQUNTIE9wZXJhdG9yIGNoYW5uZWxzOioqXG5cblJlZCBIYXQgcHJvdmlkZXMgdGhlIFJIQUNTIE9wZXJhdG9yIGJ5IHVzaW5nIHRoZSBmb2xsb3dpbmcgdXBkYXRlIGNoYW5uZWxzIGluIHRoZSBSZWQgSGF0IE9wZXJhdG9yIGNhdGFsb2c6XG5cbiogYHN0YWJsZWA6IFByb3ZpZGVzIHRoZSBtb3N0IHJlY2VudCB2ZXJzaW9uIGFuZCBwYXRjaGVzIHRvIHRoZSBtb3N0IHJlY2VudCB2ZXJzaW9uLlxuICBVc2luZyB0aGUgYHN0YWJsZWAgY2hhbm5lbCBhbmQgY29uZmlndXJpbmcgYXV0b21hdGljIG9wZXJhdG9yIHVwZ3JhZGVzIGVuc3VyZXMgdGhhdCB0aGUgbW9zdCByZWNlbnQgUkhBQ1MgdmVyc2lvbiBpcyBkZXBsb3llZC5cbiogYHJoYWNzLXgueXlgIChmb3IgZXhhbXBsZSwgYHJoYWNzLTMuNzRgKTogQ2hhbm5lbHMgZm9sbG93IGEgc3BlY2lmaWMgUkhBQ1MgdmVyc2lvbiBhbmQgaW5jbHVkZSBhbGwgcGF0Y2hlcyB0byB0aGF0IHZlcnNpb24gKGUuZy4gYDMuNzQuMGAsIGAzLjc0LjFgLCAuLi4pLlxuXG5Ob3RlIHRoYXQgdGhlIGBsYXRlc3RgIGNoYW5uZWwgaXMgZGVwcmVjYXRlZCBhbmQgaXMgbm90IHVwZGF0ZWQgYWZ0ZXIgUkhBQ1MgdmVyc2lvbiAzLjc0LiBOZXdlciB2ZXJzaW9ucyBhcmUgcHVibGlzaGVkIHRvIHRoZSBgc3RhYmxlYCBjaGFubmVsLlxuXG4qKlJIQUNTIGNvbWVzIHdpdGggdHdvIGN1c3RvbSByZXNvdXJjZXM6KipcblxuMS4gKipDZW50cmFsIFNlcnZpY2VzKiogLSBDZW50cmFsIGlzIGEgZGVwbG95bWVudCByZXF1aXJlZCBvbiBvbmx5IG9uZSBjbHVzdGVyIGluIHlvdXIgZW52aXJvbm1lbnQuIFVzZXJzIGludGVyYWN0IHdpdGggUkhBQ1MgdmlhIHRoZSB1c2VyIGludGVyZmFjZSBvciBBUElzIG9uIENlbnRyYWwuIENlbnRyYWwgYWxzbyBzZW5kcyBub3RpZmljYXRpb25zIGZvciB2aW9sYXRpb25zIGFuZCBpbnRlcmFjdHMgd2l0aCBpbnRlZ3JhdGlvbnMuIFVzZXJzIG1heSBzZWxlY3QgZXhwb3N1cmVzIGZvciBDZW50cmFsIHRoYXQgYmVzdCBtZWV0IHRoZWlyIGVudmlyb25tZW50LlxuXG4yLiAqKlNlY3VyZWQgQ2x1c3RlciBTZXJ2aWNlcyoqIC0gU2VjdXJlZCBjbHVzdGVyIHNlcnZpY2VzIGFyZSBwbGFjZWQgb24gZWFjaCBjbHVzdGVyIHlvdSBtYW5hZ2UgYW5kIHJlcG9ydCBiYWNrIHRvIENlbnRyYWwuIFRoZXNlIHNlcnZpY2VzIGFsbG93IHVzZXJzIHRvIGVuZm9yY2UgcG9saWNpZXMgYW5kIG1vbml0b3IgeW91ciBPcGVuU2hpZnQgYW5kIEt1YmVybmV0ZXMgY2x1c3RlcnMuIFNlY3VyZWQgQ2x1c3RlciBTZXJ2aWNlcyBjb21lIGFzIHR3byBEZXBsb3ltZW50cyAoU2Vuc29yIGFuZCBBZG1pc3Npb24gQ29udHJvbGxlcikgYW5kIG9uZSBEYWVtb25TZXQgKENvbGxlY3RvcikuXG5cbioqQ29uc29sZSBQbHVnaW4gKFRlY2ggUHJldmlldyk6KiogUkhBQ1MgcHJvdmlkZXMgYSBkeW5hbWljIHBsdWdpbiB0aGF0IGRpc3BsYXlzIHZ1bG5lcmFiaWxpdHkgbWFuYWdlbWVudCBpbmZvcm1hdGlvbiBpbiB0aGUgT3BlblNoaWZ0IHdlYiBjb25zb2xlLiBJbnN0YWxsIGEgU2VjdXJlZENsdXN0ZXIgdG8gZGVwbG95IHRoZSBwbHVnaW4uIEVuYWJsZSB0aGUgcGx1Z2luIGJ5IHNlbGVjdGluZyAqT3BlcmF0b3JzKiBcdTAwM2UgKkluc3RhbGxlZCBPcGVyYXRvcnMqIG9yIGJ5IG1vZGlmeWluZyB0aGUgY29uc29sZSBPcGVyYXRvciBjb25maWd1cmF0aW9uLlxuKipJbXBvcnRhbnQ6KiogVGhlIENvbnNvbGUgUGx1Z2luIHJlcXVpcmVzIE9wZW5TaGlmdCA0LjE5IHRvIDQuMjEuXG5cbiMjIyBDZW50cmFsIFNlcnZpY2VzIEV4cGxhaW5lZFxuXG58IFNlcnZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRGVwbG95bWVudCBUeXBlIHwgRGVzY3JpcHRpb24gICAgIHxcbnwgOi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfCA6LS0tLS0tLS0tLS0tLS0gfCA6LS0tLS0tLS0tLS0tLS0gfFxufCBDZW50cmFsICAgICAgICAgICAgICAgICAgICAgICAgICB8IERlcGxveW1lbnQgICAgICB8IFVzZXJzIGludGVyYWN0IHdpdGggUmVkIEhhdCBBZHZhbmNlZCBDbHVzdGVyIFNlY3VyaXR5IHRocm91Z2ggdGhlIHVzZXIgaW50ZXJmYWNlIG9yIEFQSXMgb24gQ2VudHJhbC4gQ2VudHJhbCBhbHNvIHNlbmRzIG5vdGlmaWNhdGlvbnMgZm9yIHZpb2xhdGlvbnMgYW5kIGludGVyYWN0cyB3aXRoIGludGVncmF0aW9ucy4gfFxufCBDZW50cmFsIERCICAgICAgICAgICAgICAgICAgICAgICB8IERlcGxveW1lbnQgICAgICB8IENlbnRyYWwgREIgaXMgYSBQb3N0Z3JlU1FMLWJhc2VkIHBlcnNpc3RlbnQgc3RvcmFnZSBmb3IgdGhlIGRhdGEgY29sbGVjdGVkIGFuZCBtYW5hZ2VkIGJ5IENlbnRyYWwuIHxcbnwgU2Nhbm5lciAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZXBsb3ltZW50ICAgICAgfCBTY2FubmVyIGlzIGEgUmVkIEhhdCBkZXZlbG9wZWQgYW5kIGNlcnRpZmllZCBpbWFnZSBzY2FubmVyLiBTY2FubmVyIGFuYWx5emVzIGFuZCByZXBvcnRzIHZ1bG5lcmFiaWxpdGllcyBmb3IgaW1hZ2VzLiBTY2FubmVyIHVzZXMgSFBBIHRvIHNjYWxlIHRoZSBudW1iZXIgb2YgcmVwbGljYXMgYmFzZWQgb24gd29ya2xvYWQuIHxcbnwgU2Nhbm5lciBEQiAgICAgICAgICAgICAgICAgICAgICAgfCBEZXBsb3ltZW50ICAgICAgfCBTY2FubmVyIERCIGlzIGEgY2FjaGUgZm9yIHZ1bG5lcmFiaWxpdHkgZGVmaW5pdGlvbnMgdG8gc2VydmUgdnVsbmVyYWJpbGl0eSBzY2FubmluZyB1c2UgY2FzZXMgdGhyb3VnaG91dCB0aGUgc29mdHdhcmUgZGV2ZWxvcG1lbnQgbGlmZSBjeWNsZS4gfFxuXG4jIyMgU2VjdXJlZCBDbHVzdGVyIFNlcnZpY2VzIEV4cGxhaW5lZFxuXG58IFNlcnZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRGVwbG95bWVudCBUeXBlIHwgRGVzY3JpcHRpb24gICAgIHxcbnwgOi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfCA6LS0tLS0tLS0tLS0tLS0gfCA6LS0tLS0tLS0tLS0tLS0gfFxufCBTZW5zb3IgICAgICAgICAgICAgICAgICAgICAgICAgICB8IERlcGxveW1lbnQgICAgICB8IFNlbnNvciBhbmFseXplcyBhbmQgbW9uaXRvcnMgS3ViZXJuZXRlcyBpbiBzZWN1cmVkIGNsdXN0ZXJzLiB8XG58IENvbGxlY3RvciAgICAgICAgICAgICAgICAgICAgICAgIHwgRGFlbW9uU2V0ICAgICAgIHwgQW5hbHl6ZXMgYW5kIG1vbml0b3JzIGNvbnRhaW5lciBhY3Rpdml0eSBvbiBLdWJlcm5ldGVzIG5vZGVzLnxcbnwgQWRtaXNzaW9uIENvbnRyb2xsZXIgICAgICAgICAgICAgfCBEZXBsb3ltZW50ICAgICAgfCBWYWxpZGF0aW5nV2ViaG9va0NvbmZpZ3VyYXRpb24gZm9yIGVuZm9yY2luZyBwb2xpY2llcyBpbiB0aGUgZGVwbG95IGxpZmVjeWNsZS4gfFxuXG4jIyMgQ2VudHJhbCBDdXN0b20gUmVzb3VyY2VcblxuQ2VudHJhbCBTZXJ2aWNlcyBpcyB0aGUgY29uZmlndXJhdGlvbiB0ZW1wbGF0ZSBmb3IgUkhBQ1MgQ2VudHJhbCBkZXBsb3ltZW50LiBGb3IgYWxsIGN1c3RvbWl6YXRpb24gb3B0aW9ucywgcGxlYXNlIHZpc2l0IHRoZSBSSEFDUyBkb2N1bWVudGF0aW9uLlxuXG4jIyMgU2VjdXJlZENsdXN0ZXIgQ3VzdG9tIFJlc291cmNlXG5cblNlY3VyZWRDbHVzdGVyIGlzIHRoZSBjb25maWd1cmF0aW9uIHRlbXBsYXRlIGZvciB0aGUgUkhBQ1MgU2VjdXJlZCBDbHVzdGVyIHNlcnZpY2VzLlxuXG4jIyMjIEluc3RhbGxhdGlvbiBQcmVyZXF1aXNpdGVzXG5cbkJlZm9yZSBkZXBsb3lpbmcgYSBTZWN1cmVkQ2x1c3RlciByZXNvdXJjZSwgeW91IG5lZWQgdG8gY3JlYXRlIGEgY2x1c3RlciBpbml0IGJ1bmRsZSBzZWNyZXQuXG5cbi0gKipUaHJvdWdoIHRoZSBSSEFDUyBVSToqKiBUbyBjcmVhdGUgYSBjbHVzdGVyIGluaXQgYnVuZGxlIHNlY3JldCB0aHJvdWdoIHRoZSBSSEFDUyBVSSwgbmF2aWdhdGUgdG8gYFBsYXRmb3JtIENvbmZpZ3VyYXRpb24gXHUwMDNlIENsdXN0ZXJzYCwgYW5kIHRoZW4gY2xpY2sgYE1hbmFnZSBUb2tlbnNgIGluIHRoZSB0b3AtcmlnaHQgY29ybmVyLiBTZWxlY3QgYENsdXN0ZXIgSW5pdCBCdW5kbGVgLCBhbmQgY2xpY2sgYEdlbmVyYXRlIEJ1bmRsZWAuIFNlbGVjdCBgRG93bmxvYWQgS3ViZXJuZXRlcyBzZWNyZXRzIGZpbGVgLCBhbmQgc3RvcmUgdGhlIGZpbGUgdW5kZXIgYSBuYW1lIG9mIHlvdXIgY2hvaWNlIChmb3IgZXhhbXBsZSwgYGNsdXN0ZXItaW5pdC1zZWNyZXRzLnlhbWxgKS5cbi0gKipUaHJvdWdoIHRoZSBgcm94Y3RsYCBDTEk6KiogVG8gY3JlYXRlIGEgY2x1c3RlciBpbml0IGJ1bmRsZSBzZWNyZXQgdGhyb3VnaCB0aGUgYHJveGN0bGAgY29tbWFuZC1saW5lIGludGVyZmFjZSwgcnVuIGByb3hjdGwgY2VudHJhbCBpbml0LWJ1bmRsZXMgZ2VuZXJhdGUgXHUwMDNjbmFtZVx1MDAzZSAtLW91dHB1dC1zZWNyZXRzIFx1MDAzY2ZpbGUgbmFtZVx1MDAzZWAuIENob29zZSBhbnkgYG5hbWVgIGFuZCBgZmlsZSBuYW1lYCB0aGF0IHlvdSBsaWtlLlxuXG5SdW4gYG9jIHByb2plY3RgIGFuZCBjaGVjayB0aGF0IGl0IHJlcG9ydHMgdGhlIGNvcnJlY3QgbmFtZXNwYWNlIHdoZXJlIHlvdSBpbnRlbmQgdG8gZGVwbG95IFNlY3VyZWRDbHVzdGVyLiBJbiBjYXNlIHlvdSB3YW50IHRvIGluc3RhbGwgU2VjdXJlZENsdXN0ZXIgdG8gYSBkaWZmZXJlbnQgbmFtZXNwYWNlLCBzZWxlY3QgaXQgYnkgcnVubmluZyBgb2MgcHJvamVjdCBcdTAwM2NuYW1lc3BhY2VcdTAwM2VgLlxuVGhlbiwgcnVuIGBvYyBjcmVhdGUgLWYgaW5pdC1idW5kbGUueWFtbGAuIElmIHlvdSBoYXZlIGNob3NlbiBhIG5hbWUgb3RoZXIgdGhhbiBgaW5pdC1idW5kbGUueWFtbGAsIHNwZWNpZnkgdGhhdCBmaWxlIG5hbWUgaW5zdGVhZC5cblxuIyMjIyBSZXF1aXJlZCBGaWVsZHNcblxuVGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzIGFyZSByZXF1aXJlZCB0byBiZSBzcGVjaWZpZWQuIEZvciBhbGwgY3VzdG9taXphdGlvbiBvcHRpb25zLCBwbGVhc2UgdmlzaXQgdGhlIFJIQUNTIGRvY3VtZW50YXRpb24uXG5cbnwgUGFyYW1ldGVyICAgICAgICAgIHwgRGVzY3JpcHRpb24gICAgIHxcbnwgOi0tLS0tLS0tLS0tLS0tLS0tIHwgOi0tLS0tLS0tLS0tLS0tIHxcbnwgYGNsdXN0ZXJOYW1lYCAgICAgIHwgVGhlIG5hbWUgZ2l2ZW4gdG8gdGhpcyBzZWN1cmVkIGNsdXN0ZXIuIFRoZSBjbHVzdGVyIHdpbGwgYXBwZWFyIHdpdGggdGhpcyBuYW1lIGluIFJIQUNTIHVzZXIgaW50ZXJmYWNlLiB8XG58IGBjZW50cmFsRW5kcG9pbnRgICB8IFRoaXMgZmllbGQgc2hvdWxkIHNwZWNpZnkgdGhlIGFkZHJlc3Mgb2YgdGhlIENlbnRyYWwgZW5kcG9pbnQsIGluY2x1ZGluZyB0aGUgcG9ydCBudW1iZXIuIGBjZW50cmFsRW5kcG9pbnRgIG1heSBiZSBvbWl0dGVkIGlmIHRoaXMgU2VjdXJlZENsdXN0ZXIgQ3VzdG9tIFJlc291cmNlIGlzIGluIHRoZSBzYW1lIGNsdXN0ZXIgYW5kIG5hbWVzcGFjZSBhcyBDZW50cmFsLiB8XG4iLCJkaXNwbGF5TmFtZSI6IkFkdmFuY2VkIENsdXN0ZXIgU2VjdXJpdHkgZm9yIEt1YmVybmV0ZXMiLCJpY29uIjpbeyJiYXNlNjRkYXRhIjoiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVh3QUFBRjhDQVlBQUFETTV3REtBQUFBQ1hCSVdYTUFBRzY2QUFCdXVnSFczckVYQUFBZ0FFbEVRVlI0bk8zZHY0OGNSZjcvOFZlZkx2Yk81NVBiMitTMmRvaXgyQ2JsZEhkRGFPdE9uaEFMZ3JrSUNRS1dBQ1JuZXhJSXNwdlY1NFJEeGlCSW1VVTRaa1k0WjliT3Y4ejRINmh2VU4zcjJXVi9kRmRYZC9XUDUwTXE3WjJaN3FuWkg2K3BlVmQxZFdTTUVRQ2crLzRVdWdNQWdIb1ErQURRRXdRK0FQUUVnUThBUFVIZ0EwQlBFUGdBMEJNRVBnRDBCSUVQQUQzeDU5QWR3RmxSRkNXaCt3QjR0RExHckVKM0FsYkVsYmJWaUtJb2xoUkxHa29hYkgyVnBQMGduUUthNVRqOXVwYTAyUHJLbTBSRkNId1AwbEg1Y0t2dEJlMFEwQTFMMlRlQWhhU0ZNV1lldGp2dFIrQVhGRVhSUUZLeTFRaDNvRDVMU2ZPc0dXUFdRWHZUTWdSK0RsRVVEU1dOMGtiQUE4MnhsRFNUTkRQR0xFSjNwdWtJL0V1a0lUK1dEZm5kc0wwQmtNT0piUGhQQ2YrTEVmaGIwb25XY2RvSWVhQzlUaVJOWmNOL0ZiWXJ6VUhnUzRxaWFDd2I4cXllQWJybldEYjRwNkU3RWxwdkF6K2RmSjJJMFR6UUY5bW8vN0N2azcyOUMveTBiSk1GL1U3SXZnQUlZcU5Yd2I4SzI1VjY5U2J3MDZBL2tQUWdhRWNBTk1tUnBJTytCSC9uQTMrcmRQTng2TDRBYUt4UDFJTlNUNmNEUDRxaWlleW9udElOZ090c1pFZjdoNkU3VXBWT0JuNjYxY0ZVVE1ZQ0tPNUUwcmlMV3psMEt2RFQ4czFVMHQ4RGR3VkErejJSRGY3T2xIazZzeDkrV3I1WmliQUg0TWZmSmEzU2JPbUUxby93MDFIOVRGdzBCYUE2eDVKR2JSL3R0M3FFSDBYUlNIWlVUOWdEcU5LKzdHaC9GTG9qWmJReThLTW9Ha1JSZENqcEc3RUNCMEE5ZGlSOUUwWFJZVnBaYUozV2xYVFNDNmhtWXB0aUFPRXNaVXM4cTlBZEthSlZJL3owNDlSQ2hEMkFzUFlrTGRwVzRtbE40S2N6NVpSd0FEUkZWdUpwelNxZVZwUjBvaWlhaWoxd0FEVFhrVEZtSExvVDEybDA0TFBrRWtDTE5IN3BabU1EUHczN3VhalhBMmlQcGFTa3FhSGZ5QnArdWhKbkxzSWVRTHZzU1pvM2RkbG00MGI0NmMzRDUySnlGa0I3YldSSCtvMjZtWHFqUnZpRVBZQ08ySkVkNlE5RGQyUmJZMGI0NlVlZ2xRaDdBTjJ4a1JRM3BhYmZpQkgrMWdRdFlRK2dTN0tSZmlOcStzRURuOVU0QURxdU1STzV3UU5mN0lzRG9QdjJaTE11cUtDQm4xNUJ5MFZWQVBwZ1A4MjhZSUlGZnJyL0JOc2xBT2lUQnlIMzNnbXlTaWZkWWU2YjJwOFlBSnJoSFdOTTdTV2UyZ00vdllwMklWYmtBT2l2amFSaDNmdnAxMXJTMmRvTWpiQUgwR2M3a21aMXI5eXB1NFovSUZia0FJQmtzL0Nnemllc3JhUkQzUjRBTGxSYlBiK1d3R2ZiQkFDNFZHM2JMOVJWMHFGdUR3QVgyMUZORjJWVkh2anBtbE11cmdLQXkrM1hzVDYvMHBJT3BSd0F5SzN5MGs3VkkveXBDSHNBeUdOSE5qTXJVOWtJUDRxaVJOS1BsWndjQUxyckxXUE12SW9UVnhuNEswbTdsWndjQUxycnhCZ1RWM0hpU2tvNjZlUURZUThBeGUxV05ZSHJmWVRQUkMwQWxGYkpCRzRWSS95SkNIc0FLR05ITmt1OThqckNUM2ZDL00zYkNRR2czMTd6dWFPbTd4SCtnZWZ6QVVDZkhmZzhtYmNSUHFON0FLaUV0MUcrenhGK3NOdDJBVUNIZWN0V0x5TjhWdVlBUUdXOHJkanhOY0puWlE0QVZNUGJpaDFmSS95VnVOQUtBS3JpNWVyYjBpUDhLSXJHSXV3Qm9FcTdhZGFXNHFPa1U3b1RBSUJyamN1ZW9GUkpoNldZQUZDclVrczB5NDd3eHlXUEJ3RGtOeTV6Y05rUi9rclU3d0dnTHFVbWI1MUgrRkVVRFVYWUEwQ2RkdFBzZFZLbXBETXVjU3dBd00zWTlVRG5rZzdsSEFBSXdybXM0elRDcDV3REFNRTRsM1ZjU3pvangrTUFBT1U1WlRDQkR3RHQ0NVRCaFd2NDZjNll2N3M4R1FEQW0vOHB1b09teXdnL2NUZ0dBT0JYVXZRQUFoOEEyaWtwZWdDQkR3RHRsQlE5d0tXRzcrY211QUNBVW93eFVaSEhGeHJoUjFHVUZPb05BS0F5UlRPNWFFbW4wTWtCQUpVcWRBRlcwY0NQQ3o0ZUFGQ2RTZ1BmZVpjMkFJQjNoVEs1MEtRdEU3WUEwQ3hGSm01emovRFQyeGtDQUJxa1NEWVhLZW5rUGlrQW9EWngzZ2NXQ1h6cTl3RFFQTG16dVVqZ0R4dzZBZ0NvVnU1c1pvUVBBTzNHQ0I4QWVxS1NFVDRBb01WeXI4Tm5EVDY2SUVtU00vOS9QcDhINlFmZ1U5NjErSCt1dWlOQUtNUGg4TFFsU2FLOXZiMExIN2RjTGpXZno3VllMRTRiMEVXTThORUpnOEZBU1pLY2h2dHdPTlRPem83VHVUYWJqUmFMeGVtYndIdysxM3BkNkU1eVFLM3lqdkFKZkxSU2tpU253VDRjRHJXN3UxdnA4NTJjbkp5Ty91ZnpPYVVnTkFxQmo4N1lMc3NNaDhOTFN6TjFXeTZYWno0SlVBcENLQVErV2ltTzR6UGh2cisvSDdwTGhSd2ZINTk1RTFpdFZxRzdoQjRnOE5GNGc4SGdUTGduU2VKY2QyK3F6V1p6Wmk1Z3NWZ3dId0R2Q0h3MHpuYk52VW1sbWJwbHBhRHRPUUdnREFJZlFjVnhmQ2JnMjFhYXFWdFdDc3JlQUNnRm9RZ0NIN1h4dVNRU0ZrdERVUVNCajhxY0QvZXFsMFRDeXBhR2JyOEpBQktCRDAveVhxMktNTGhLR0JLQkR3Zlprc2dzM0ttN3Q5UHg4ZkdaTndIbUE3cVB3TWVWemkrSjdFdHA1dVRrNUxRVWtpUkpiMTd6OW9Rd1MwTzdoOERIR2VmRHZRK2xtZTJKejh1Q2J2dU5yMDhUenR0TFE3UHZEZHFMd08reHRsK3Q2c3JYMHNhK0xpbmxLdUgySXZCN2doRnFQU05VUGlGUkNtb3lBcitqem05RlFBMDZqTDdQZ1ZBS2FoWUN2Mk5HbzVFT0R3OTdFU3B0WFdYU3gxVk9KeWNubWt3bW1zMW1vYnZTYXdSK2gweW5VejE0OENCME55clI5UzJHbTdxMXMyOUhSMGNhajhlaHU5RmJCSDVIakVZamZmUE5ONkc3NFFWWGlscGR2Vkw1blhmZVlhUWZDSUhmRWF2VnFwV0J3RjR3K1hWbEw2S1RreFBGY1J5Nkc3MUU0SGZBY0RqVUw3LzhFcm9idWJEYm8xOXRYUnI2K3V1dmQ2NHMxd1o1QS8vUFZYY0U3cG82V3RwZXFkSG4wa3lWVnF1VnB0UHBtWC9iZmdObzZncXR3V0FRdWd1NEFvR1BLM0hIcHVZNGYvUDBQdHd4REg0UitBMFdJbGk1MnJJOTF1djFIOTRFK25xVk5mSWg4SHVzNjBzaSsyaTFXbW0xV3AxWkxkT1hwYUc0SG9IZkUrZXZWcVh1M2gvWnozMTdUbUI3SzQ0dUxRM0YxUWo4RGpxL0pKTFNETTY3ckJUVTlxV2h1SVl4SmxlVFpHajF0aVJKVEZIajhUaDR2Mm5kYU9QeHVQRHZYNUlrd2Z2ZHg1WTN4LzhrZEFvamVmakM3MUwzRVBnQTBCTUVQZ0QwQklFUEFEMUI0QU5BVHhENEFOQVRCRDRBOUFTQkR3QTlRZUFEUUU4UStBRFFFd1ErQVBRRWdROEFQVUhnQTBCUEVQZ0EwQk1FUGdEMEJJRVBBRDNCSGEvUUczZlNkanY5S2tsdlhQTFlsNUorbGJSSnZ6NUx2ejZ2dUk5QWxRaDhkTll0U1hjbHZaMSt2VkhnMkJ0NjlXYnc5dGEvdjVEMHM2UWZKSDN2b1k5QW5RaDhkTTU5MlpCKys3b0hPcmdwNlY3YVhzcUcvbVBaTndHZzZRaDhkTUtPcEhkbHcvNW1UYzk1UTYvQy82bHM4SDlkMDNNRExwaTBSZXM5bExTVTlJSHFDL3Z6M3BEMHVhU2ZaTXRIUUJNUitHaXR1N0pCLzZtSzFlZXJkRnZTdDVMK0t6dUhBRFFKZ1kvVzJaSDBtV3l3aGhyUlgrZHQyZEgrL2RBZEFiWVErR2lWTzVLK2s2M1hOOTBOMlRMUEY3SnZVa0JvQkQ1YTR5K3lZWDg3ZEVjS3VpZmJiMG84Q0kzQVJ5dmNsL1IvYWs2dHZxamJzaVdlTzljOUVLZ1FnWS9HdXk5YkdtbTdHN0lqZlVJZm9SRDRhTFN1aEgyRzBFZElYSGlGeHFvajdMTTljODY3Ykk4ZEg3TFFmMVBzellONkVmaG9wRHV5U3k5OWV5YTdIY0pUdmRvYzdUSzMwbjY4SVR0aDdITUo2QTNadGZwL3ZhWVBnRThFUGhwblJ6WU1mVTNRdnBEMGxXelFGeGxSUDAvYjk1SStsQTMvZDJYRDMwZmZic3UrcWIzbjRWeEFIdFR3MFRoZnlNOW8rb1drOXlYdFNmcFM1Y3NudjhxRzg1NmtSN0xsb0xMdWlZdXpVQjhDSDQzeUYvblo1ZktSYkkyOGlzM01ObHZuZityaGZKK0pOZnFvQjRHUDRPN0k3b3R6VjNaMFg4WUxTZnV5Z1Z4MWJmeTViQTMrbzVMbnVhSHlyeHZJZ3hvK2FuTlhkZ0wwanV5STF2Y1ZzODhVWmhMMFM5bjk4TCtUZTIzL0RkbnZEL3ZxbzBvRVBpcDFWN1pPN1d1aTh6S1BaU2RXUTYxNCtWWDJ6YVpNNkg4aE96OEFWSVdTRGlweFgzYnI0bTlsQTcvS3NIOG1PNWthZW5sakZ2cXVrN2szeFFRdXFrWGd3NnNzNkQ5WFBWc1haMldjcHNoQzM5VUh2am9DWElEQWh4ZTNaTXNaZFFXOVpFZlNUUmpabi9lcjNDZHliNG83WnFFNkJENUt1eSs3RTJTVjJ4RmM1SkV1M2hhaENiNlU5SVBqc2ZkOGRnVFlRdUNqbEM5a1IvVjFiMXY4VkRaVW0reER1ZFh6NzRrYnBxQWFCRDZjN01pV2NFS05SaDhGZXQ0aW5zdjlUZWt2UGpzQ3BBaDhGSmFGZmQwbG5NeFR0V2U5K2xkeUcrWDd1Tm9ZT0kvQVIyR2hielBZaHRGOVppTzM3UjJZdUVVVkNId1U4b1hDaHYxanRXZDBuL25LNFpnYjRpWXA4SS9BUjI0UEZYWUZ5V08xY3l2aDU3TFhDeFJGNE1NM3RsWkFMbmRVelVWQnoyVExIdG5OU083SXpoRnN6dy84SUR0S2J0dklmdHYzS3Y3SktPUW5LWFFUZ1k5Y3ZwQ2ZwWmN2WmNQdmgvUnJYN2hzbzh3SUg3NFIrTGpXZlpVZmJiNlVYYUw0bFpwM1pXd2RYRDZkc0JZZnZsSER4NVYyVlA3ZXNrOWxieFpTeHg3MVRmYWk0T052aXh1andDOENIMWQ2VitWS09ZOWtOeE1yZTN2QkxuRDVIaXhrbDhHeVRCTStFUGk0VXBudGV0OVh1OWJNTjlVYnN0dE1meUhLUENpSHdNZWw3c3Q5NTh1UFZNMzlaUHZzbnV6VzAyeTdBRmNFUGk3bGVubi9EMnIreG1adGRVUFMvNm44dkFyNmljREhoWGJrRnZqWkh2V28xcnZpeHVjb2pzREhoVnduQ1VQZVY3WnY3b25RUnpFRVBpN2tzaFBtQzFHM3Ywb1ZWd3JmazkzeUFzaUR3TWVGWEViNGhQM1ZIbGQwM2svRnNrM2tRK0RqUWk1WDFsWVZhRjN4WEc0N1orYkJrazNrUWVEakQxeXU3bndoTHE3SzQwTlY4OFo0VTNZaUY3Z0tnWTgvY0FuOHB0NU12SW5lay9RM3VkL2svRElQeFNnZlZ5UHc0UVdCWDh6UGt2NGg2WDhsRFNYOVUrVkgvamZFS0I5WEkvQ0J3SjdMYmhYOW5tejR1MnlsbkNtekZRYTZqOEFIR3VTNTdHWnpycVA5bTJMckJWeU93QWNhNkQyNWg3N0xOUlRvQndJZnZiQWpPNm41bmFUL2w3YnYxT3lKemc5VmZBOTlpVFg1dUJ5QkR5K2FmRHUrKzdLN1RINnFzNlBmTjlKL1c2cVp0ZStOM0xhWDVsNjR1QXlCano5d1dVL2Z4TUMvSytrblNaL3I2cHU0M0VnZjg1T2FOenIrV296eTRRK0Jqejl3Q2Z5YmFrN28zNUs5OHZSYkZSdnQzdGFyRzQwMDZkYUNWZXpCZzM0aThIRWhsNldCOTd6M29wZ2RTUi9JanRUTDlPVmVlbzRQMUl6NlBsY3d3eGNDSHhkeXVaRHF2c0lGNUgyOUN1a3k5K0ROM05Dck40OG0xdmNCRndRK0x1UXl3Zzl4cGVjZDJkVTJuOHY5ZG94WHVabWUrenMxcDJRRnVDTHdjYUh2WmU5ZVZkUkQxVlAvM3BHdHRSK3JublhuYjZUUEZXSlh5aWFVbGRBTkJENHU5YjNETVRjay9kZDNSODc1UUhZcFpZZzVnK3hHNGgvVStKeGNPUXRmQ0h4Y3l2Vkt6OXVxNXRaN2QvVXFiSDNVNlYxbDlmMmxxbC8rZUZkdXBTcFc5dUFpQkQ0dTliUGMxb0JMZnUrM2VrdTJodjZ0cXFuVHU3b3AyNmZ2VkYwWnkrV1RoT3ZQRE4xSDRPTktMbGQ2WnJMUWQ2MUI3MGo2VE5KQ3pkNGY1ZzNaUG40bXYvWDJoM0o3M1l6dWNSa0NIMWR5dmRJemMwOXVLMXdleXBaTTJyUy8rN3V5ZmZaeFUvSDdzdHMrdVBCOVl4VjBCNEdQYTcxWDh2amJzcUdmZC9UN2hXelloYXpUdTdvaDIzZlhjbGIycWVaengrTmZ5bTJ5SGYxQTRPTmFQNnY4cVBHR2JKQmQ1NzZxWFgzelZQWW1JMlZ2TkhLZGV5cDJ3VmEybStkUEt2ZXBockRIVlFoODVQS2UzTmJsYjd1bjYwZjVWUzEzZkNGN0g5bS95bTVWa04xbzVHK3FicEl6NzJ1NUl4djBuNnI4cEhTWk9SZDBINEdQWERheTkyQXQ2NnBhdnVzU3hLdThsUFNScEQxZFBKbjVjL3JmUGxMNU43VHpidXI2Wlp2WkNpUWZyL3V4MkhjSFZ5UHdrZHZQc3NIWUZvOWx3L3pMSEkvOU1uMXMyUnVKRi9XWi9NeFZ2SlM5WVFwd0ZRSWZoWHlwK2tPeHFLZVM5bVhMVUpzQ3gyM1NZL1pWYlgwL2MwdlMyNTdPVmZTMW9wOElmQlJXNW42clZaWWNYa2o2cDJ4dDNtVzN6OHl2NlRuK3FXb3ZZdkoxc2Raak1WbUxmQWg4T0hFSi9hcHF6QzlsSnl2MzVEZjR2ay9QK1VqKzYvdStQRlA1WmJQb0R3SWZ6dDZUOUg3T3gyYWg3TnNQa3Q2czZOeVpSK2x6Tk8yQ3BtZXluMFNBdkFqOGpoa09oN1UrMzlleU5lK3JTaDh2OUdvNXBHOWZWWFRlODU2bnorVlRtYkxURDdMZjB5cnI5a21TVkhoMmhFRGdkOHhnTUtqOU9YK1ZIUUYvSkR2WitUSnRUMlUvQWJ5cGN1SFdWUnU1ellVOGtsMGl5eVF0aXZwejZBNmdHemF5SzNqeUxJSEVLeC9LN25lZloybm1DOWt5R3B1andSVWpmQ0Nnald4cDV0a1ZqM2toKzBucHNvdkhnTHdZNFhkTWlKSU95c2xLWXZkbDErWHZiUDM3TTlsNWtoRGlPQTcwektnS2dkOWdpOFdpOERGMVQ5ckNuNjhWTHR3djRoTDRMcit6cUE4bG5RWmJyOWVodXdBVXd1OXNzeEg0SGNQSGNQakNwOFh1SWZBYmJybGNGbnI4N3U1dVJUMUIzK3pzRkx0aFk5SGZWZFNQd0c4NGw0L0lUTnlpTEpkUGlwUnptby9BYjdqVmFsWDRHRDZLb3l5WHdIZjVYVVc5Q1B5R2Mva2pvbzZQc2x3R0RRUis4eEg0RGVleXpJM0FSMWtzeWV3bUFyL2hYT3FpYkhxRnNseEcrTlR3bTQvQWI3ajVmRjc0R0ViNEtNc2w4RjErVjFFdkFyOEZUazVPQ2oxK2QzZTNOeXQxM3RXcnJRaXF0Sk0rVngvRWNWeDRTV2JSMzFHRVFlQzNnRXR0dEM5bG5iY2xMU1U5clBBNUhxYlA0ZXYrczAzSGhHMTNFZmd0d0o0NlY3c2g2VlBaVUw3cjhieDMwM04rcW56YkYzZUZ5MkNCY2s0N0VQZ3R3QWcvbjV1U3ZwWDBuY3JkSVB4V2VvNXYwM1AyamN0Z2dSVTY3UkFaWS9JOU1JcnlQUkRlRFFZRC9mNzc3NFdQaTZLb2d0NVU1NjVzeVByeVNQYTJoSG52REpYVjZUL3cySWUvcVgxNzJPZk5oRzJ2dmZZYVpaMkFqREc1L3RnWjRiZkFlcjEybWhUcjR5aC8yd2V5SlpuN09SNTdQMzJzejdCdm85Rm9WUGlZazVNVHdyNGxDUHlXY0ttUnV2enhodlN6N0wxd2Zib2g2WE5KUCtuaSt2N2Q5TDk5THY5MStwZHEzK2plWlpCQU9hYzlDUHlXY0FuOE5vN3dIMVYwM3R1eTVhTC95dGJvYjZYLys5djB2MVdocXRkU0pkYmZkeHMxL0phSTQxaS8vZlpiNGVQYVdGdjlRdEs5Q3MrZmZZcW9jdVhOWTlrYmpyY045ZnQyb29iZk1hdlZ5cW1PMzdheWptU0Q4aVA1TCs5a2JxaTZzSDhwMi9jMmhyMVVmRTk3NnZmdFF1QzN5R3cySzN6TWVEejIzNUVhZkNscFQzYWszQmFQWmZ2OFplaU9sRkMwSGs4NXAxMEkvQlp4K2VQYTI5dHI3ZDQ2RzltUjhyNmtwNEg3Y3BXbnNuMThUL21YZ0RiVmREcXQ5UEVJaThCdmtkbHNwczJtZUtTMHNheXo3VmRKZjVYMHZxUVhnZnV5N1lWc24vNHEyOGN1bU0vbk9qbzZ5dlhZbzZNalJ2Z3RRK0MzakV0Wlp6S1pWTkNUK24wdDZVM1oxUzlWMWZmemVKbjI0YzIwVDEwekhvK3ZEZjJqbzZQV2xndjdqTUJ2R1pmQTM5M2RiZVVTell0czlDcHNROVQzSCt2Vm0wN2J5emRYR1kvSGV1ZWRkL1RreVpNei8vN2t5Uk85OWRaYmhIMUxzU3l6aGRicmRlSHRhN3M2SXJzcjZUTlZ0NVkrODB6U2gycmZoVlRvQjVabGRwakxLUC9CZ3dlZDNDUC9aOWtSOS91cXBzenpNajMzbXlMczBYNEVmZ3U1cm96b1NpMy9JbC9MTG9uMGVYWHJvL1NjWGF6VG81OG82YlRVYXJYUzd1NXVvV00ybTQzaU9PNzh2VWR2eVpaNVhHOVk4b05zK2VhNXR4NEIxYUtrMDNHSGg0ZUZqOW5aMmVuMEtEL3pYTkkvWkxjbUxyS004MFY2ekQ5RTJLT2JHT0czbE9zZStYMFo1Vzk3S0x2dDhXWGJLV1RMTE50OGhTejZqUkYreDYzWDY5d1h5R3pyeXloL1c3Wk53eVBaMVRhWlozcFZweWZzMFFlTThGdk1kUWZOUG83eWdTNWpoTjhEcTlWS3g4ZkhoWS9iMmRseG1nTUEwRzZNOEZzdVNSTDkrT09QVHNlKy92cnIzSzBJNkFCRytEMHhuOCtkUnZtUzIwb2ZBTzFGNEhmQXdjR0IwM0g3Ky91OW04QUYrb3lTVGtmTTUzUHQ3KzhYUG02ejJXZzRISExYSXFERjhwWjBDUHlPR0E2SCt1V1hYNXlPUFQ0KzdzeHVtbDB3R28yVUpJblREY1h6V3ExV21zL25tczFtck5icWdMeUJMMk5NcmliSjBKcmRwdE9wY1hWd2NCQzgvMzF2dytIUUxCWUw1NStoaS9WNmJjYmpjZkRYVGl2WFRONGN6LzNBQnJ3bzJ0VnRNQmlZOVhydC9NZWZKRW53MTlEWE5od09TLzNzeWlMMDI5ME1nZC9QTnBsTW5QL28xK3UxR1F3R3dWOURIOXQ4UG5mK3Vma1N4M0h3N3dQTnJSa0N2Nyt0VEZsZ3NWZ0U3My9mMm5BNGRQNTUrWFI0ZUJqOGUwRnpheVpuanJNc3M0UEszTmxxYjIvUGViOTl1R25LVGVhWnVPOCtBcitERm91RlB2bmtFK2ZqSHp4NDRMeTJIKzIxdDdjWHVndW9HSUhmVVFjSEIxb3VsODdIZi96eHg1MjhCeTdRWndSK2g1VU43UC84NXorRWZnMjQ2QTIxeVZ2c1Z3TW1KbWpGVzVsVk94bVc3RlhieWk2bjlTbjA5NExtMWd5cmRHaFptODFtcFlPQTBLKzJqY2ZqMGo4akgwSi9IMmh1elJENHRLd05CZ012VjNBUyt0VzJKb1IrNk84QnphMFpBcCsyM1h4ZHlUbWRUb08vbGk2M0pFbThmQ0p6RmZyMTA5eWFJZkJwNTl0b05QSVNDclBaakN0eUEvOGNxNnI1aDM1dE5MZG1DSHphUmMxWDJXQ3hXSmpoY0JqODlmU3RIUndjZVBuNVhTYjA2Nk81TlVQZzB5NXJoNGVIWHNKaHZWNmIwV2dVL1BYMG9RMEdnMXIyMnduOU9tbHV6UkQ0dEt0YW1hMlV6NXRPcDVSNEtteEprdFMyYkRQMGE2VzVOVVBnMDY1clBrTi90VnF4dmJMbk5oZ012SDBheXl2MGE2YTVOVVBnMC9JMG42RnZqTjF4a2RGKytUWWFqY3hxdGZMNnM4a2o5T3VtdVRWRDROUHlOdCtoejEyVTNGc2N4eXpMcEJWdWhzQ25GV20rUTk4WVkrYnpPV1dlbkcwd0dGUytBaWVQME44SG1sc3pCRDZ0YUt1cVhqeWRUcm1iMGhYdDRPQ0F2WFJvcFpvaDhHa3VyY3JMK3duK1YyMHdHSmpKWkZKWm5YNjFXam1kTy9UM2hlYldESUZQYzIxVkx3UHNjNmtuanVQS1IvU0x4Y0o1M1g3bzd3L05yUmtDbjFhbXhYSHNaY08xcTZ4V0t6T1pUSHF4cWlkSmtrcm1TYzdidmk4dGdkK2ZaZ2g4V3RrMkdBeHFDU2xqYkxtbmExZnRacVA1T3BaWFhuVFZNNEhmbjJZSWZKcXZOaDZQYTV0VVhLL1hyUTcvT0k3TlpES3AvTlBSdHNWaWNlSGNDSUhmbjJZSWZKclBWa2VKNTd6MWVtMW1zNW1aVENhTjNhaHRNQmlZMFdoa0RnOFBnMXdvZFhCd2NHbmZDUHhldGRqa3lQSEkvb3l2RjBWUnZnZWkwdzRPRHZUeHh4OEhlZTdOWnFQNWZLN0ZZbkg2ZGIxZTE5cUg0WEI0MnBJazBkN2VYcTNQbjFrdWx4cVB4MW9zRnBjK1pqNmZhMzkvdjlCNW95Z3EyelVFWUl6SjlZTWo4RkZZSE1lYVRxZUZ3NlFLSnljbldxMVdtcy9ua25UNnRjeWJ3WEE0MUdBd1VCekhpdU5ZdytGUWNSd0hDL2R0bTgxR2g0ZUhPamc0dVBheEJINS9FUGlvM0hnODF1SGhvWFoyZGtKMzVVclptOEpWbXZEbWRaMG5UNTVvTXBsYysxb3lSUU4vdVZ4cU9CdzY5ZzRoNVExOGF2aTBVcTBwV3dKMG1ldE9wSlBKcE5EemJDL3BwTFdyR1NadGFYVzJPSTVyVzhMWkY2dlZxdFFtZElQQklQZnFxdlY2elZYUUxXNkd3S2VGYUFSL2VXV0RmcnZsdlhrOXU1dTJ1NWtLQW44ZStrWFIydE1JL3VKOEJ2MTJHdzZIbHk0WjVjWTFuV2h6a3pQSGkwemF6aVh0NTNvd2tJcmpXT1B4V0pQSnBQR1R1NkVjSHgvcjhQQlFzOW1zMHVjWmpVWm5KbVVYaTBYbHo0bGFIQnRqa2x5UHpQdk9JR21tOE85a3RCYTM4WGhjKzhWYlRiVmVyODNoNFNGMWM1cVBOak1WbEhRT0d2RENhQjFvY1J3SHV6STF0TmxzUnIyYzVyc2RtQW9DZjlLQUYwYnJXQnNPaDUwUC95emsrN0FyS0MxSW01Z0thdmlKcEI5elBSaHdNQndPTlJxTmxDUkpLeTZFdXN6SnlZbm04N2xtczVubTgzbnQyeitnZDk0eXhzenpQTEJJNE1lU2ZuUHVFbERBWURCUWtpU25lOVkwK1EwZ0MvanRQWDZBR3IxbWpGbmxlV0R1d0pmWVhnRmhiVzljbHJXNlYvNHNsMHV0VnF1Z0c3Z0IyMHplYlJWVVBQQVhrc0x2SUFWc1NaSkVnOEhnZE1saHR2bVpaRDhwNU5uMGJMUFpuQm1aWjBHK1dxM09OS0JobHNhWTNCc2dGUTM4cWFRSERwMENBUGgzWkl3WjUzM3dud3Flbk9Ja0FEUkhvVXdtOEFHZ3ZRcGxjcUdTanNURUxRQTBSWkVKVzZuNENGK1NsZzdIQUFEOEtwekZMb0UvZHpnR0FPRFh2T2dCQkQ0QXROTzg2QUV1TmZ5QnBOK0xQaEVBd0t2L01jWVV1dXF2OEFnL2ZRTHErQUFRenJKbzJFdHVKUjNKN28wUEFBakRLWU1KZkFCb0g2Y01MbHpEUHowd2lsYVNkcDBPQmdDNE9qSEd4QzRIdW83d0pVYjVBQkNDYy9hV0NmeHBpV01CQUc2bXJnYzZsM1FreWpvQVVEUG5jbzVVYm9Rdk1jb0hnRHBOeXh4Y2RvUWZpOXNlQWtCZGN0L084Q0tsUnZqcEV4K1hPUWNBSUpmak1tRXZsUy9wU0pSMUFLQU8wN0luS0ZYU09UMEprN2NBVUtWU2s3VVpIeU44aVZFK0FGUnA2dU1rdmtiNEEwa3JTVHVsVHdZQTJMYVJGTHRzbG5hZWx4RisycEdwajNNQkFNNlkrZ2g3eWRNSVgyS0pKZ0JVcE5SU3pHMithdmpaRXMwalgrY0RBT2pJVjloTEhrZjRFcU44QVBETTIraGU4ampDbDA1SCtaLzRQQ2NBOU5RblBzTmU4anpDbDFpeEF3QWVlRnVaczgzckNGODZYYkZ6NFB1OEFOQWpCNzdEWHFwZ2hIOTZZcTYrQlFBWFhxNnF2WWozRWY2V2NZWG5Cb0N1R2xkMTRzb0MzeGd6bC9Ta3F2TURRQWM5U2JPekVwV1ZkQ1FtY0FHZ2dFb21hcmRWV2RKaEFoY0E4cXRrb25aYnBTUDgweWVKb3Jtay9jcWZDQURhNmRnWWsxVDlKSFVGUHFVZEFMaFk1YVdjVEtVbG5VejZRc1oxUEJjQXRNeTRqckNYYWdwOFNUTEd6Q1Q5dTY3bkE0QVcrSGVhamJXb3BhUnorbVMydERPWHRGZmJrd0pBTXkwbEpYV043cVdhQTE4NjNWRnpJZXI1QVBwckkybm9lM08wNjlSVzBzbWtMM0JjOS9NQ1FJT002dzU3S1VEZ1M2ZjEvSCtGZUc0QUNPeGZkZGJ0dDlWZTBqbno1RkUwbGZRZ1dBY0FvRjVIeHBoeHFDY1BHdmdTRjJVQjZJMWFMcTY2U3BDU3pqa2oyZGxxQU9pcXBXeldCUlU4OE5NbFNZa0lmUURkVlB2eXk4c0VMK2xrMkg0QlFBZlZ0bTFDSHNGSCtKbXRrZjRtY0ZjQXdJZU5Hakt5enpRbThDWEpHTE1Rb1ErZy9iS3dYNFR1eUxaR0JiNTBHdnF4cU9rRGFLZWxiQm1uVVdFdk5URHdKU1p5QWJSV1l5Wm9MOUxJd0pmT2hQNXg0SzRBUUI3SGFuRFlTdzBPZk1tR2ZucWh3bEhvdmdEQUZZNk1NWTBPZTZuaGdaOUpMMFZtN3gwQVRmU3ZrTnNsRk5HWWRmaDVSRkUwa2pRVmEvVUJoTGVSM2ZVeXlFWm9MbG9WK05McGZ2b3pjUk1WQU9Fc0pZMUNiSEZjUml0S090dlNiM0FpYnBjSUlJeC95MDdPcmtKM3BLaldqZkMzVWVJQlVLUFdsWERPYTNYZ1M2ZDc4TXpFRnNzQXFuTXNXOEpwOUNxYzY3U3VwSFBlMXRMTmY0a3RHUUQ0dFpGZGhkUDRKWmQ1dEg2RXZ5MGQ3VThsL1Qxd1Z3QzAzeFBaRWs3cmd6N1RxY0RQUkZHVXlBYi9idGllQUdpaEU5bWduNGZ1aUcrdEwrbGN4Qmd6TjhiRW9zd0RJTCtzZkJOM01leWxqbzd3dDZWbG5vbWtqMFAzQlVCamZTTHBzRXZsbTR0MFB2QXo2UVZiQjVJZUJPMElnQ1k1a25UUXhqWDFMbm9UK0prMCtDZVN4bUw5UHRCSEc5azV2c08rQkgybWQ0R2YyU3IxakhYMzBDa0FBQUR2U1VSQlZNWGtMdEFISjNvVjlKMHUzVnltdDRHL0xZcWlzV3p3Yy9FVzBEM0hrcWJHbUdub2pvUkc0RzlKeXoxak1lb0gyaTRielUvN1ZyYTVDb0YvaVNpS2hyTEJQeExoRDdUQmlldzJLOU1tM2srMkNRajhITkx3SDZXTmJabUI1bGpLaHZ5TWtMOGVnVjlRT3RtYmJEWGVBSUQ2TENYTnM5Ylh5VmRYQkw0SDZWWU93NjNHbXdCUTNsTFNJbXRkdmZxMVRnUitSZElKNEZqMkRXQ3c5VlZpTlJBZzJkVXprclNXRGZYczY0cUoxbW9RK0EyeTlTWUJkTVdDc2t0ekVQZ0EwQk9kM0MwVEFQQkhCRDRBOUFTQkR3QTlRZUFEUUU4UStBRFFFd1ErQVBRRWdROEFQVUhnQTBCUC9IOWY1Nk5MT0VWYmJnQUFBQUJKUlU1RXJrSmdnZz09IiwibWVkaWF0eXBlIjoiaW1hZ2UvcG5nIn1dLCJpbnN0YWxsIjp7InNwZWMiOnsiY2x1c3RlclBlcm1pc3Npb25zIjpbeyJydWxlcyI6W3siYXBpR3JvdXBzIjpbIioiXSwicmVzb3VyY2VzIjpbIioiXSwidmVyYnMiOlsiKiJdfSx7ImFwaUdyb3VwcyI6WyJwbGF0Zm9ybS5zdGFja3JveC5pbyJdLCJyZXNvdXJjZXMiOlsiY2VudHJhbHMiLCJzZWN1cmVkY2x1c3RlcnMiXSwidmVyYnMiOlsiY3JlYXRlIiwiZGVsZXRlIiwiZ2V0IiwibGlzdCIsInBhdGNoIiwidXBkYXRlIiwid2F0Y2giXX0seyJhcGlHcm91cHMiOlsicGxhdGZvcm0uc3RhY2tyb3guaW8iXSwicmVzb3VyY2VzIjpbImNlbnRyYWxzL2ZpbmFsaXplcnMiLCJzZWN1cmVkY2x1c3RlcnMvZmluYWxpemVycyJdLCJ2ZXJicyI6WyJ1cGRhdGUiXX0seyJhcGlHcm91cHMiOlsicGxhdGZvcm0uc3RhY2tyb3guaW8iXSwicmVzb3VyY2VzIjpbImNlbnRyYWxzL3N0YXR1cyIsInNlY3VyZWRjbHVzdGVycy9zdGF0dXMiXSwidmVyYnMiOlsiZ2V0IiwicGF0Y2giLCJ1cGRhdGUiXX0seyJhcGlHcm91cHMiOlsiYXV0aGVudGljYXRpb24uazhzLmlvIl0sInJlc291cmNlcyI6WyJ0b2tlbnJldmlld3MiXSwidmVyYnMiOlsiY3JlYXRlIl19LHsiYXBpR3JvdXBzIjpbImF1dGhvcml6YXRpb24uazhzLmlvIl0sInJlc291cmNlcyI6WyJzdWJqZWN0YWNjZXNzcmV2aWV3cyJdLCJ2ZXJicyI6WyJjcmVhdGUiXX1dLCJzZXJ2aWNlQWNjb3VudE5hbWUiOiJyaGFjcy1vcGVyYXRvci1jb250cm9sbGVyLW1hbmFnZXIifV0sImRlcGxveW1lbnRzIjpbeyJsYWJlbCI6eyJhcHAiOiJyaGFjcy1vcGVyYXRvciIsImNvbnRyb2wtcGxhbmUiOiJjb250cm9sbGVyLW1hbmFnZXIifSwibmFtZSI6InJoYWNzLW9wZXJhdG9yLWNvbnRyb2xsZXItbWFuYWdlciIsInNwZWMiOnsicmVwbGljYXMiOjEsInNlbGVjdG9yIjp7Im1hdGNoTGFiZWxzIjp7ImFwcCI6InJoYWNzLW9wZXJhdG9yIiwiY29udHJvbC1wbGFuZSI6ImNvbnRyb2xsZXItbWFuYWdlciJ9fSwic3RyYXRlZ3kiOnt9LCJ0ZW1wbGF0ZSI6eyJtZXRhZGF0YSI6eyJhbm5vdGF0aW9ucyI6eyJrdWJlY3RsLmt1YmVybmV0ZXMuaW8vZGVmYXVsdC1jb250YWluZXIiOiJtYW5hZ2VyIn0sImxhYmVscyI6eyJhcHAiOiJyaGFjcy1vcGVyYXRvciIsImNvbnRyb2wtcGxhbmUiOiJjb250cm9sbGVyLW1hbmFnZXIifX0sInNwZWMiOnsiY29udGFpbmVycyI6W3siYXJncyI6WyItLWhlYWx0aC1wcm9iZS1iaW5kLWFkZHJlc3M9OjgwODEiLCItLW1ldHJpY3MtYmluZC1hZGRyZXNzPTAuMC4wLjA6ODQ0MyIsIi0tbGVhZGVyLWVsZWN0Il0sImVudiI6W3sibmFtZSI6IlJFTEFURURfSU1BR0VfTUFJTiIsInZhbHVlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3MtbWFpbi1yaGVsOEBzaGEyNTY6YTgxOTc2ZWRlYTYxYjVhNWE1ZDA1MDM4MmY1NDdjMTA1MTU4NjM2NTNjMzMzNTBhZjlhMzY5NTQ2OTJhMzYzZiJ9LHsibmFtZSI6IlJFTEFURURfSU1BR0VfU0NBTk5FUiIsInZhbHVlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3Mtc2Nhbm5lci1yaGVsOEBzaGEyNTY6N2JhOGI1MTU3ZmI3MzgzM2FiODgxZTgzNjhiYWY3ZDI0MGEzMTJmZmU2ZjFkMjc3Y2Y1NGNmMGU4YjRmYWM4MiJ9LHsibmFtZSI6IlJFTEFURURfSU1BR0VfU0NBTk5FUl9TTElNIiwidmFsdWUiOiJyZWdpc3RyeS5yZWRoYXQuaW8vYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eS9yaGFjcy1zY2FubmVyLXNsaW0tcmhlbDhAc2hhMjU2OjgwMjI5ZDMzZWE0ZDVkMGVjYThmNjllODk3ODI1MTRkNjJiOTE2M2U2ZWUwNjNiYmI4MTk3OWU2MmY1Y2YxMjgifSx7Im5hbWUiOiJSRUxBVEVEX0lNQUdFX1NDQU5ORVJfREIiLCJ2YWx1ZSI6InJlZ2lzdHJ5LnJlZGhhdC5pby9hZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5L3JoYWNzLXNjYW5uZXItZGItcmhlbDhAc2hhMjU2OjQ1MTQ1OWE1YWIwMzA3YTdlMDc0OGQyOWIxZjYxZDAxMjk5YWQ0NThkZDMyMjZiNmZmMjQ3MDkyMmMwNjZhZjMifSx7Im5hbWUiOiJSRUxBVEVEX0lNQUdFX1NDQU5ORVJfREJfU0xJTSIsInZhbHVlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3Mtc2Nhbm5lci1kYi1zbGltLXJoZWw4QHNoYTI1NjozZDY5MWJlYzMzNDNkMTI5NWM1N2I3YTYzMTg4NTExNGJiNmE3ZjdlMDYxNDhkYjEyYWYzOWNjNjE5ODk1ODgzIn0seyJuYW1lIjoiUkVMQVRFRF9JTUFHRV9DT0xMRUNUT1IiLCJ2YWx1ZSI6InJlZ2lzdHJ5LnJlZGhhdC5pby9hZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5L3JoYWNzLWNvbGxlY3Rvci1yaGVsOEBzaGEyNTY6ZmVlNmY1YmE3NjQxZDdmM2RhNmU1NmQxODQ4NjEwMmVjZTIxYWI5YzU4YjgxZjlkZTM0ZGYzZTA2MDJlOTM1ZSJ9LHsibmFtZSI6IlJFTEFURURfSU1BR0VfRkFDVCIsInZhbHVlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3MtZmFjdC1yaGVsOEBzaGEyNTY6ZDIxYThjOTZlNzgyNWM3MzgyMTNjZTMyN2JkZjIwZmI1YTIzNzQwYzBlYzI3YTUyMDAwMzA2MTc4MTBiZjk0NCJ9LHsibmFtZSI6IlJFTEFURURfSU1BR0VfUk9YQ1RMIiwidmFsdWUiOiJyZWdpc3RyeS5yZWRoYXQuaW8vYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eS9yaGFjcy1yb3hjdGwtcmhlbDhAc2hhMjU2OmM0MjBlYmRjYWIxMzkyOTc5MDU2ZGJhNTZjYWI1MmVhMzIwOWUzNThmNjVmYzgwMmRjNGJiNGIxYmJkMWU3ODcifSx7Im5hbWUiOiJSRUxBVEVEX0lNQUdFX0NFTlRSQUxfREIiLCJ2YWx1ZSI6InJlZ2lzdHJ5LnJlZGhhdC5pby9hZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5L3JoYWNzLWNlbnRyYWwtZGItcmhlbDhAc2hhMjU2OjU1NThlYzdiZDc1MTA3YTFkMzgwMzc4ZTMzODI2ZmQyZDk2NzIxN2ZhZjgzYmJjZGZmOTgzZjIxODhlZDNhY2UifSx7Im5hbWUiOiJSRUxBVEVEX0lNQUdFX1NDQU5ORVJfVjRfREIiLCJ2YWx1ZSI6InJlZ2lzdHJ5LnJlZGhhdC5pby9hZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5L3JoYWNzLXNjYW5uZXItdjQtZGItcmhlbDhAc2hhMjU2OjJkZjFjNzQyMzQ2NGRlMjgxYzczZDE2ZGI5YWNlMjdmNDA1NTFiMDIyNzJmNmZkZGU2YTMzNWUzMWFmMTM0OTAifSx7Im5hbWUiOiJSRUxBVEVEX0lNQUdFX1NDQU5ORVJfVjQiLCJ2YWx1ZSI6InJlZ2lzdHJ5LnJlZGhhdC5pby9hZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5L3JoYWNzLXNjYW5uZXItdjQtcmhlbDhAc2hhMjU2OjM1ZmVmMDcyZmY1NGM5OTdkMzg5MTZiNzM4MDJhNmE2YWY0Yzk3MDY2YjIyY2UwNDhjNTI3NGM3YTg1MDViNDcifSx7Im5hbWUiOiJNRU1PUllfTElNSVRfQllURVMiLCJ2YWx1ZUZyb20iOnsicmVzb3VyY2VGaWVsZFJlZiI6eyJjb250YWluZXJOYW1lIjoibWFuYWdlciIsImRpdmlzb3IiOiIwIiwicmVzb3VyY2UiOiJsaW1pdHMubWVtb3J5In19fV0sImltYWdlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3MtcmhlbDgtb3BlcmF0b3JAc2hhMjU2Ojk4NDBlMzM3MDVmODM3MGI3YWMyOGY5OWRhM2U2Y2JhNzI5NzJmNjA0MDA3YjM4MTJkYTRhMWY1ZmI0OTlhYjkiLCJsaXZlbmVzc1Byb2JlIjp7Imh0dHBHZXQiOnsicGF0aCI6Ii9oZWFsdGh6IiwicG9ydCI6ODA4MX0sImluaXRpYWxEZWxheVNlY29uZHMiOjE1LCJwZXJpb2RTZWNvbmRzIjoyMH0sIm5hbWUiOiJtYW5hZ2VyIiwicG9ydHMiOlt7ImNvbnRhaW5lclBvcnQiOjg0NDMsIm5hbWUiOiJodHRwcyIsInByb3RvY29sIjoiVENQIn1dLCJyZWFkaW5lc3NQcm9iZSI6eyJodHRwR2V0Ijp7InBhdGgiOiIvcmVhZHl6IiwicG9ydCI6ODA4MX0sImluaXRpYWxEZWxheVNlY29uZHMiOjUsInBlcmlvZFNlY29uZHMiOjEwfSwicmVzb3VyY2VzIjp7ImxpbWl0cyI6eyJjcHUiOiIyMDBtIiwibWVtb3J5IjoiMUdpIn0sInJlcXVlc3RzIjp7ImNwdSI6IjEwMG0iLCJtZW1vcnkiOiIyMDBNaSJ9fSwic2VjdXJpdHlDb250ZXh0Ijp7ImFsbG93UHJpdmlsZWdlRXNjYWxhdGlvbiI6ZmFsc2UsImNhcGFiaWxpdGllcyI6eyJkcm9wIjpbIkFMTCJdfX19XSwic2VjdXJpdHlDb250ZXh0Ijp7InJ1bkFzTm9uUm9vdCI6dHJ1ZX0sInNlcnZpY2VBY2NvdW50TmFtZSI6InJoYWNzLW9wZXJhdG9yLWNvbnRyb2xsZXItbWFuYWdlciIsInRlcm1pbmF0aW9uR3JhY2VQZXJpb2RTZWNvbmRzIjoxMH19fX1dLCJwZXJtaXNzaW9ucyI6W3sicnVsZXMiOlt7ImFwaUdyb3VwcyI6WyIiXSwicmVzb3VyY2VzIjpbImNvbmZpZ21hcHMiXSwidmVyYnMiOlsiZ2V0IiwibGlzdCIsIndhdGNoIiwiY3JlYXRlIiwidXBkYXRlIiwicGF0Y2giLCJkZWxldGUiXX0seyJhcGlHcm91cHMiOlsiY29vcmRpbmF0aW9uLms4cy5pbyJdLCJyZXNvdXJjZXMiOlsibGVhc2VzIl0sInZlcmJzIjpbImdldCIsImxpc3QiLCJ3YXRjaCIsImNyZWF0ZSIsInVwZGF0ZSIsInBhdGNoIiwiZGVsZXRlIl19LHsiYXBpR3JvdXBzIjpbIiJdLCJyZXNvdXJjZXMiOlsiZXZlbnRzIl0sInZlcmJzIjpbImNyZWF0ZSIsInBhdGNoIl19XSwic2VydmljZUFjY291bnROYW1lIjoicmhhY3Mtb3BlcmF0b3ItY29udHJvbGxlci1tYW5hZ2VyIn1dfSwic3RyYXRlZ3kiOiJkZXBsb3ltZW50In0sImluc3RhbGxNb2RlcyI6W3sic3VwcG9ydGVkIjpmYWxzZSwidHlwZSI6Ik93bk5hbWVzcGFjZSJ9LHsic3VwcG9ydGVkIjpmYWxzZSwidHlwZSI6IlNpbmdsZU5hbWVzcGFjZSJ9LHsic3VwcG9ydGVkIjpmYWxzZSwidHlwZSI6Ik11bHRpTmFtZXNwYWNlIn0seyJzdXBwb3J0ZWQiOnRydWUsInR5cGUiOiJBbGxOYW1lc3BhY2VzIn1dLCJrZXl3b3JkcyI6WyJhZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5Iiwic3RhY2tyb3giLCJzZWN1cml0eSIsInZ1bG5lcmFiaWxpdGllcyIsImNvbXBsaWFuY2UiLCJkZXZzZWNvcHMiLCJtb25pdG9yaW5nIiwic2Nhbm5pbmciLCJydW50aW1lLXNlY3VyaXR5IiwibmV0d29yayBwb2xpY3kiLCJjb25maWd1cmF0aW9uIiwicmlzayJdLCJsaW5rcyI6W3sibmFtZSI6IlJlZCBIYXQgQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eSBEb2N1bWVudGF0aW9uIiwidXJsIjoiaHR0cHM6Ly9kb2NzLm9wZW5zaGlmdC5jb20vYWNzL3dlbGNvbWUvIn0seyJuYW1lIjoiRGF0YVNoZWV0IiwidXJsIjoiaHR0cHM6Ly93d3cucmVkaGF0LmNvbS9lbi9yZXNvdXJjZXMvYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eS1mb3Ita3ViZXJuZXRlcy1kYXRhc2hlZXQifSx7Im5hbWUiOiJTdXBwb3J0IFBvbGljeSIsInVybCI6Imh0dHBzOi8vYWNjZXNzLnJlZGhhdC5jb20vbm9kZS81ODIyNzIxIn0seyJuYW1lIjoiQ29tbXVuaXR5IFNpdGUiLCJ1cmwiOiJodHRwczovL3d3dy5zdGFja3JveC5pby8ifV0sIm1haW50YWluZXJzIjpbeyJlbWFpbCI6InJoYWNzLXBtQHJlZGhhdC5jb20iLCJuYW1lIjoiQWR2YW5jZWQgQ2x1c3RlciBTZWN1cml0eSBwcm9kdWN0IHRlYW0ifV0sIm1hdHVyaXR5IjoiYWxwaGEiLCJtaW5LdWJlVmVyc2lvbiI6IjEuMTUuMCIsInByb3ZpZGVyIjp7Im5hbWUiOiJSZWQgSGF0In0sInJlbGF0ZWRJbWFnZXMiOlt7ImltYWdlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3MtY29sbGVjdG9yLXJoZWw4QHNoYTI1NjpmZWU2ZjViYTc2NDFkN2YzZGE2ZTU2ZDE4NDg2MTAyZWNlMjFhYjljNThiODFmOWRlMzRkZjNlMDYwMmU5MzVlIiwibmFtZSI6ImNvbGxlY3RvciJ9LHsiaW1hZ2UiOiJyZWdpc3RyeS5yZWRoYXQuaW8vYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eS9yaGFjcy1jZW50cmFsLWRiLXJoZWw4QHNoYTI1Njo1NTU4ZWM3YmQ3NTEwN2ExZDM4MDM3OGUzMzgyNmZkMmQ5NjcyMTdmYWY4M2JiY2RmZjk4M2YyMTg4ZWQzYWNlIiwibmFtZSI6ImNlbnRyYWxfZGIifSx7ImltYWdlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3Mtc2Nhbm5lci1yaGVsOEBzaGEyNTY6N2JhOGI1MTU3ZmI3MzgzM2FiODgxZTgzNjhiYWY3ZDI0MGEzMTJmZmU2ZjFkMjc3Y2Y1NGNmMGU4YjRmYWM4MiIsIm5hbWUiOiJzY2FubmVyIn0seyJpbWFnZSI6InJlZ2lzdHJ5LnJlZGhhdC5pby9hZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5L3JoYWNzLXNjYW5uZXItdjQtcmhlbDhAc2hhMjU2OjM1ZmVmMDcyZmY1NGM5OTdkMzg5MTZiNzM4MDJhNmE2YWY0Yzk3MDY2YjIyY2UwNDhjNTI3NGM3YTg1MDViNDciLCJuYW1lIjoic2Nhbm5lcl92NCJ9LHsiaW1hZ2UiOiJyZWdpc3RyeS5yZWRoYXQuaW8vYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eS9yaGFjcy1zY2FubmVyLXNsaW0tcmhlbDhAc2hhMjU2OjgwMjI5ZDMzZWE0ZDVkMGVjYThmNjllODk3ODI1MTRkNjJiOTE2M2U2ZWUwNjNiYmI4MTk3OWU2MmY1Y2YxMjgiLCJuYW1lIjoic2Nhbm5lcl9zbGltIn0seyJpbWFnZSI6InJlZ2lzdHJ5LnJlZGhhdC5pby9hZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5L3JoYWNzLXNjYW5uZXItdjQtZGItcmhlbDhAc2hhMjU2OjJkZjFjNzQyMzQ2NGRlMjgxYzczZDE2ZGI5YWNlMjdmNDA1NTFiMDIyNzJmNmZkZGU2YTMzNWUzMWFmMTM0OTAiLCJuYW1lIjoic2Nhbm5lcl92NF9kYiJ9LHsiaW1hZ2UiOiJyZWdpc3RyeS5yZWRoYXQuaW8vYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eS9yaGFjcy1mYWN0LXJoZWw4QHNoYTI1NjpkMjFhOGM5NmU3ODI1YzczODIxM2NlMzI3YmRmMjBmYjVhMjM3NDBjMGVjMjdhNTIwMDAzMDYxNzgxMGJmOTQ0IiwibmFtZSI6ImZhY3QifSx7ImltYWdlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3MtbWFpbi1yaGVsOEBzaGEyNTY6YTgxOTc2ZWRlYTYxYjVhNWE1ZDA1MDM4MmY1NDdjMTA1MTU4NjM2NTNjMzMzNTBhZjlhMzY5NTQ2OTJhMzYzZiIsIm5hbWUiOiJtYWluIn0seyJpbWFnZSI6InJlZ2lzdHJ5LnJlZGhhdC5pby9hZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5L3JoYWNzLXNjYW5uZXItZGItcmhlbDhAc2hhMjU2OjQ1MTQ1OWE1YWIwMzA3YTdlMDc0OGQyOWIxZjYxZDAxMjk5YWQ0NThkZDMyMjZiNmZmMjQ3MDkyMmMwNjZhZjMiLCJuYW1lIjoic2Nhbm5lcl9kYiJ9LHsiaW1hZ2UiOiJyZWdpc3RyeS5yZWRoYXQuaW8vYWR2YW5jZWQtY2x1c3Rlci1zZWN1cml0eS9yaGFjcy1zY2FubmVyLWRiLXNsaW0tcmhlbDhAc2hhMjU2OjNkNjkxYmVjMzM0M2QxMjk1YzU3YjdhNjMxODg1MTE0YmI2YTdmN2UwNjE0OGRiMTJhZjM5Y2M2MTk4OTU4ODMiLCJuYW1lIjoic2Nhbm5lcl9kYl9zbGltIn0seyJpbWFnZSI6InJlZ2lzdHJ5LnJlZGhhdC5pby9hZHZhbmNlZC1jbHVzdGVyLXNlY3VyaXR5L3JoYWNzLXJveGN0bC1yaGVsOEBzaGEyNTY6YzQyMGViZGNhYjEzOTI5NzkwNTZkYmE1NmNhYjUyZWEzMjA5ZTM1OGY2NWZjODAyZGM0YmI0YjFiYmQxZTc4NyIsIm5hbWUiOiJyb3hjdGwifSx7ImltYWdlIjoicmVnaXN0cnkucmVkaGF0LmlvL2FkdmFuY2VkLWNsdXN0ZXItc2VjdXJpdHkvcmhhY3MtcmhlbDgtb3BlcmF0b3JAc2hhMjU2Ojk4NDBlMzM3MDVmODM3MGI3YWMyOGY5OWRhM2U2Y2JhNzI5NzJmNjA0MDA3YjM4MTJkYTRhMWY1ZmI0OTlhYjkiLCJuYW1lIjoibWFuYWdlciJ9XSwicmVwbGFjZXMiOiJyaGFjcy1vcGVyYXRvci52NC4xMC4yIiwic2tpcHMiOlsicmhhY3Mtb3BlcmF0b3IudjQuMS4wIl0sInZlcnNpb24iOiI0LjEwLjMtcmMuMSJ9fQ==" + } + }, + { + "type": "olm.bundle.object", + "value": { + "data": "eyJhcGlWZXJzaW9uIjoicmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MSIsImtpbmQiOiJDbHVzdGVyUm9sZSIsIm1ldGFkYXRhIjp7ImNyZWF0aW9uVGltZXN0YW1wIjpudWxsLCJsYWJlbHMiOnsiYXBwIjoicmhhY3Mtb3BlcmF0b3IifSwibmFtZSI6InJoYWNzLW9wZXJhdG9yLW1ldHJpY3MtcmVhZGVyIn0sInJ1bGVzIjpbeyJub25SZXNvdXJjZVVSTHMiOlsiL21ldHJpY3MiXSwidmVyYnMiOlsiZ2V0Il19XX0=" + } + }, + { + "type": "olm.bundle.object", + "value": { + "data": "eyJhcGlWZXJzaW9uIjoidjEiLCJraW5kIjoiU2VydmljZSIsIm1ldGFkYXRhIjp7ImNyZWF0aW9uVGltZXN0YW1wIjpudWxsLCJsYWJlbHMiOnsiYXBwIjoicmhhY3Mtb3BlcmF0b3IiLCJjb250cm9sLXBsYW5lIjoiY29udHJvbGxlci1tYW5hZ2VyIn0sIm5hbWUiOiJyaGFjcy1vcGVyYXRvci1jb250cm9sbGVyLW1hbmFnZXItbWV0cmljcy1zZXJ2aWNlIn0sInNwZWMiOnsicG9ydHMiOlt7Im5hbWUiOiJodHRwcyIsInBvcnQiOjg0NDMsInByb3RvY29sIjoiVENQIiwidGFyZ2V0UG9ydCI6Imh0dHBzIn1dLCJzZWxlY3RvciI6eyJhcHAiOiJyaGFjcy1vcGVyYXRvciIsImNvbnRyb2wtcGxhbmUiOiJjb250cm9sbGVyLW1hbmFnZXIifX0sInN0YXR1cyI6eyJsb2FkQmFsYW5jZXIiOnt9fX0=" + } + } + ], + "relatedImages": [ + { + "name": "", + "image": "quay.io/rhacs-eng/release-operator-bundle@sha256:a0934f6fcb717f45dcd6408982f6c6d4f220ba4ea37cee768eae55878efc4449" + }, + { + "name": "central_db", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-central-db-rhel8@sha256:5558ec7bd75107a1d380378e33826fd2d967217faf83bbcdff983f2188ed3ace" + }, + { + "name": "collector", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-collector-rhel8@sha256:fee6f5ba7641d7f3da6e56d18486102ece21ab9c58b81f9de34df3e0602e935e" + }, + { + "name": "fact", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-fact-rhel8@sha256:d21a8c96e7825c738213ce327bdf20fb5a23740c0ec27a5200030617810bf944" + }, + { + "name": "main", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8@sha256:a81976edea61b5a5a5d050382f547c10515863653c33350af9a36954692a363f" + }, + { + "name": "manager", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-rhel8-operator@sha256:9840e33705f8370b7ac28f99da3e6cba72972f604007b3812da4a1f5fb499ab9" + }, + { + "name": "roxctl", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-roxctl-rhel8@sha256:c420ebdcab1392979056dba56cab52ea3209e358f65fc802dc4bb4b1bbd1e787" + }, + { + "name": "scanner_db", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8@sha256:451459a5ab0307a7e0748d29b1f61d01299ad458dd3226b6ff2470922c066af3" + }, + { + "name": "scanner_db_slim", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-slim-rhel8@sha256:3d691bec3343d1295c57b7a631885114bb6a7f7e06148db12af39cc619895883" + }, + { + "name": "scanner", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8@sha256:7ba8b5157fb73833ab881e8368baf7d240a312ffe6f1d277cf54cf0e8b4fac82" + }, + { + "name": "scanner_slim", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-slim-rhel8@sha256:80229d33ea4d5d0eca8f69e89782514d62b9163e6ee063bbb81979e62f5cf128" + }, + { + "name": "scanner_v4_db", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-v4-db-rhel8@sha256:2df1c7423464de281c73d16db9ace27f40551b02272f6fdde6a335e31af13490" + }, + { + "name": "scanner_v4", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-v4-rhel8@sha256:35fef072ff54c997d38916b73802a6a6af4c97066b22ce048c5274c7a8505b47" + } + ] +} { "schema": "olm.bundle", "name": "rhacs-operator.v4.2.0", diff --git a/catalog-csv-metadata/rhacs-operator/catalog.json b/catalog-csv-metadata/rhacs-operator/catalog.json index d799a617..8edd15c6 100644 --- a/catalog-csv-metadata/rhacs-operator/catalog.json +++ b/catalog-csv-metadata/rhacs-operator/catalog.json @@ -2056,6 +2056,11 @@ "name": "rhacs-operator.v4.10.2", "replaces": "rhacs-operator.v4.10.1", "skipRange": ">= 4.9.0 < 4.10.2" + }, + { + "name": "rhacs-operator.v4.10.3-rc.1", + "replaces": "rhacs-operator.v4.10.2", + "skipRange": ">= 4.9.0 < 4.10.3-rc.1" } ] } @@ -4680,6 +4685,11 @@ "name": "rhacs-operator.v4.10.2", "replaces": "rhacs-operator.v4.10.1", "skipRange": ">= 4.9.0 < 4.10.2" + }, + { + "name": "rhacs-operator.v4.10.3-rc.1", + "replaces": "rhacs-operator.v4.10.2", + "skipRange": ">= 4.9.0 < 4.10.3-rc.1" } ] } @@ -66426,6 +66436,2006 @@ } ] } +{ + "schema": "olm.bundle", + "name": "rhacs-operator.v4.10.3-rc.1", + "package": "rhacs-operator", + "image": "quay.io/rhacs-eng/release-operator-bundle@sha256:a0934f6fcb717f45dcd6408982f6c6d4f220ba4ea37cee768eae55878efc4449", + "properties": [ + { + "type": "olm.gvk", + "value": { + "group": "config.stackrox.io", + "kind": "SecurityPolicy", + "version": "v1alpha1" + } + }, + { + "type": "olm.gvk", + "value": { + "group": "platform.stackrox.io", + "kind": "Central", + "version": "v1alpha1" + } + }, + { + "type": "olm.gvk", + "value": { + "group": "platform.stackrox.io", + "kind": "SecuredCluster", + "version": "v1alpha1" + } + }, + { + "type": "olm.package", + "value": { + "packageName": "rhacs-operator", + "version": "4.10.3-rc.1" + } + }, + { + "type": "olm.csv.metadata", + "value": { + "annotations": { + "alm-examples": "[\n {\n \"apiVersion\": \"platform.stackrox.io/v1alpha1\",\n \"kind\": \"Central\",\n \"metadata\": {\n \"name\": \"stackrox-central-services\",\n \"namespace\": \"stackrox\"\n },\n \"spec\": {\n \"central\": {\n \"exposure\": {\n \"route\": {\n \"enabled\": true\n }\n }\n }\n }\n },\n {\n \"apiVersion\": \"platform.stackrox.io/v1alpha1\",\n \"kind\": \"SecuredCluster\",\n \"metadata\": {\n \"name\": \"stackrox-secured-cluster-services\",\n \"namespace\": \"stackrox\"\n },\n \"spec\": {\n \"clusterName\": \"my-cluster\"\n }\n }\n]", + "capabilities": "Seamless Upgrades", + "categories": "Security", + "console.openshift.io/plugins": "[\"advanced-cluster-security\"]", + "containerImage": "registry.redhat.io/advanced-cluster-security/rhacs-rhel8-operator@sha256:9840e33705f8370b7ac28f99da3e6cba72972f604007b3812da4a1f5fb499ab9", + "createdAt": "2026-05-18T19:37:14.693411+00:00", + "description": "Red Hat Advanced Cluster Security (RHACS) operator provisions the services necessary to secure each of your OpenShift and Kubernetes clusters.", + "features.operators.openshift.io/cnf": "false", + "features.operators.openshift.io/cni": "false", + "features.operators.openshift.io/csi": "false", + "features.operators.openshift.io/disconnected": "true", + "features.operators.openshift.io/fips-compliant": "true", + "features.operators.openshift.io/proxy-aware": "true", + "features.operators.openshift.io/tls-profiles": "false", + "features.operators.openshift.io/token-auth-aws": "false", + "features.operators.openshift.io/token-auth-azure": "false", + "features.operators.openshift.io/token-auth-gcp": "false", + "olm.skipRange": ">= 4.9.0 < 4.10.3-rc.1", + "operatorframework.io/suggested-namespace": "rhacs-operator", + "operators.openshift.io/infrastructure-features": "[\"disconnected\", \"proxy-aware\"]", + "operators.openshift.io/valid-subscription": "[\"OpenShift Platform Plus\", \"Red Hat Advanced Cluster Security\"]", + "operators.operatorframework.io/builder": "operator-sdk-unknown", + "operators.operatorframework.io/project_layout": "go.kubebuilder.io/v4", + "support": "Red Hat" + }, + "apiServiceDefinitions": {}, + "crdDescriptions": { + "owned": [ + { + "name": "centrals.platform.stackrox.io", + "version": "v1alpha1", + "kind": "Central", + "displayName": "Central", + "description": "Central is the configuration template for the central services. This includes the API server, persistent storage,\nand the web UI, as well as the image scanner.", + "resources": [ + { + "name": "", + "kind": "Deployment", + "version": "v1" + }, + { + "name": "", + "kind": "Route", + "version": "v1" + }, + { + "name": "", + "kind": "Secret", + "version": "v1" + }, + { + "name": "", + "kind": "Service", + "version": "v1" + } + ], + "statusDescriptors": [ + { + "path": "central.adminPassword.info", + "displayName": "Admin Credentials Info", + "description": "Info stores information on how to obtain the admin password." + }, + { + "path": "productVersion", + "displayName": "Product Version", + "description": "The deployed version of the product." + }, + { + "path": "central", + "displayName": "Central" + }, + { + "path": "central.adminPassword.adminPasswordSecretReference", + "displayName": "Admin Password Secret Reference", + "description": "AdminPasswordSecretReference contains reference for the admin password", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:Secret" + ] + }, + { + "path": "observedGeneration", + "displayName": "Observed Generation", + "description": "ObservedGeneration is the generation most recently observed by the controller." + } + ], + "specDescriptors": [ + { + "path": "central", + "displayName": "Central Component Settings", + "description": "Settings for the Central component, which is responsible for all user interaction." + }, + { + "path": "scanner", + "displayName": "Scanner Component Settings", + "description": "Settings for the Scanner component, which is responsible for vulnerability scanning of container\nimages." + }, + { + "path": "scannerV4", + "displayName": "Scanner V4 Component Settings", + "description": "Settings for the Scanner V4 component, which can run in addition to the previously existing Scanner components" + }, + { + "path": "egress", + "displayName": "Egress", + "description": "Settings related to outgoing network traffic." + }, + { + "path": "tls", + "displayName": "TLS", + "description": "Settings related to Transport Layer Security, such as Certificate Authorities." + }, + { + "path": "imagePullSecrets", + "displayName": "Image Pull Secrets", + "description": "Additional image pull secrets to be taken into account for pulling images.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "customize", + "displayName": "Customizations", + "description": "Customizations to apply on all Central Services components.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "overlays", + "displayName": "Overlays", + "description": "Overlays", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "monitoring", + "displayName": "Monitoring", + "description": "Monitoring configuration.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "network", + "displayName": "Network", + "description": "Network configuration.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "configAsCode", + "displayName": "Config-as-Code", + "description": "Config-as-Code configuration.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "misc", + "displayName": "Miscellaneous", + "description": "Deprecated field. This field will be removed in a future release.\nMiscellaneous settings.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.adminPasswordSecret", + "displayName": "Administrator Password", + "description": "Specify a secret that contains the administrator password in the \"password\" data item.\nIf omitted, the operator will auto-generate a password and store it in the \"password\" item\nin the \"central-htpasswd\" secret." + }, + { + "path": "central.exposure", + "displayName": "Exposure", + "description": "Here you can configure if you want to expose central through a node port, a load balancer, or an OpenShift\nroute." + }, + { + "path": "central.defaultTLSSecret", + "displayName": "User-facing TLS certificate secret", + "description": "By default, Central will only serve an internal TLS certificate, which means that you will\nneed to handle TLS termination at the ingress or load balancer level.\nIf you want to terminate TLS in Central and serve a custom server certificate, you can specify\na secret containing the certificate and private key here." + }, + { + "path": "central.monitoring", + "displayName": "Monitoring", + "description": "Configures monitoring endpoint for Central. The monitoring endpoint\nallows other services to collect metrics from Central, provided in\nPrometheus compatible format." + }, + { + "path": "central.db", + "displayName": "Central DB Settings", + "description": "Settings for Central DB, which is responsible for data persistence." + }, + { + "path": "central.telemetry", + "displayName": "Telemetry", + "description": "Configures telemetry settings for Central. If enabled, Central transmits telemetry and diagnostic\ndata to a remote storage backend.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.declarativeConfiguration", + "displayName": "Declarative Configuration", + "description": "Configures resources within Central in a declarative manner.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.notifierSecretsEncryption", + "displayName": "Notifier Secrets Encryption", + "description": "Configures the encryption of notifier secrets stored in the Central DB.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "central.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "central.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "central.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "central.adminPasswordGenerationDisabled", + "displayName": "Admin Password Generation Disabled", + "description": "Disable admin password generation. Do not use this for first-time installations,\nas you will have no way to perform initial setup and configuration of alternative authentication methods.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.persistence", + "displayName": "Persistence", + "description": "Unused field. This field exists solely for backward compatibility starting from version v4.6.0.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.adminPasswordSecret.name", + "displayName": "Name", + "description": "The name of the referenced secret.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:Secret" + ] + }, + { + "path": "central.db.passwordSecret", + "displayName": "Administrator Password", + "description": "Specify a secret that contains the password in the \"password\" data item. This can only be used when\nspecifying a connection string manually.\nWhen omitted, the operator will auto-generate a DB password and store it in the \"password\" item\nin the \"central-db-password\" secret." + }, + { + "path": "central.db.connectionString", + "displayName": "Connection String", + "description": "Specify a connection string that corresponds to a database managed elsewhere. If set, the operator will not manage the Central DB.\nWhen using this option, you must explicitly set a password secret; automatically generating a password will not\nbe supported." + }, + { + "path": "central.db.persistence", + "displayName": "Persistence", + "description": "Configures how Central DB should store its persistent data. You can choose between using a persistent\nvolume claim (recommended default), and a host path." + }, + { + "path": "central.db.configOverride", + "displayName": "Config map that will override postgresql.conf and pg_hba.conf", + "description": "Config map containing postgresql.conf and pg_hba.conf that will be used if modifications need to be applied." + }, + { + "path": "central.db.connectionPoolSize", + "displayName": "Database Connection Pool Size Settings", + "description": "Configures the database connection pool size." + }, + { + "path": "central.db.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "central.db.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "central.db.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "central.db.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "central.db.isEnabled", + "displayName": "Is Enabled", + "description": "Obsolete field.\nThis field will be removed in a future release.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.db.configOverride.name", + "displayName": "Name", + "description": "The name of the referenced config map.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:ConfigMap" + ] + }, + { + "path": "central.db.connectionPoolSize.maxConnections", + "displayName": "Maximum Connections", + "description": "Maximum number of connections in the connection pool.\nThe default is: 90." + }, + { + "path": "central.db.connectionPoolSize.minConnections", + "displayName": "Minimum Connections", + "description": "Minimum number of connections in the connection pool.\nThe default is: 10." + }, + { + "path": "central.db.passwordSecret.name", + "displayName": "Name", + "description": "The name of the referenced secret.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:Secret" + ] + }, + { + "path": "central.db.persistence.persistentVolumeClaim", + "displayName": "Persistent volume claim", + "description": "Uses a Kubernetes persistent volume claim (PVC) to manage the storage location of persistent data.\nRecommended for most users." + }, + { + "path": "central.db.persistence.hostPath", + "displayName": "Host path", + "description": "Stores persistent data in a directory on the host. This is not recommended, and should only\nbe used together with a node selector (only available in YAML view)." + }, + { + "path": "central.db.persistence.hostPath.path", + "displayName": "Path", + "description": "The path on the host running Central." + }, + { + "path": "central.db.persistence.persistentVolumeClaim.claimName", + "displayName": "Claim Name", + "description": "The name of the PVC to manage persistent data. If no PVC with the given name exists, it will be\ncreated.\nThe default is: central-db." + }, + { + "path": "central.db.persistence.persistentVolumeClaim.size", + "displayName": "Size", + "description": "The size of the persistent volume when created through the claim. If a claim was automatically created,\nthis can be used after the initial deployment to resize (grow) the volume (only supported by some\nstorage class controllers).", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:text" + ] + }, + { + "path": "central.db.persistence.persistentVolumeClaim.storageClassName", + "displayName": "Storage Class", + "description": "The name of the storage class to use for the PVC. If your cluster is not configured with a default storage\nclass, you must select a value here.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:StorageClass" + ] + }, + { + "path": "central.declarativeConfiguration.configMaps", + "displayName": "Config maps containing declarative configuration", + "description": "List of config maps containing declarative configuration." + }, + { + "path": "central.declarativeConfiguration.secrets", + "displayName": "Secrets containing declarative configuration", + "description": "List of secrets containing declarative configuration." + }, + { + "path": "central.declarativeConfiguration.configMaps[0].name", + "displayName": "Name", + "description": "The name of the referenced config map.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:ConfigMap" + ] + }, + { + "path": "central.declarativeConfiguration.secrets[0].name", + "displayName": "Name", + "description": "The name of the referenced secret.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:Secret" + ] + }, + { + "path": "central.defaultTLSSecret.name", + "displayName": "Name", + "description": "The name of the referenced secret.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:Secret" + ] + }, + { + "path": "central.exposure.route", + "displayName": "Route", + "description": "Expose Central through an OpenShift route." + }, + { + "path": "central.exposure.loadBalancer", + "displayName": "Load Balancer", + "description": "Expose Central through a load balancer service." + }, + { + "path": "central.exposure.nodePort", + "displayName": "Node Port", + "description": "Expose Central through a node port." + }, + { + "path": "central.exposure.loadBalancer.enabled", + "displayName": "Enabled", + "description": "The default is: false." + }, + { + "path": "central.exposure.loadBalancer.port", + "displayName": "Port", + "description": "The default is: 443.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:central.exposure.loadBalancer.enabled:true" + ] + }, + { + "path": "central.exposure.loadBalancer.ip", + "displayName": "IP", + "description": "If you have a static IP address reserved for your load balancer, you can enter it here.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:central.exposure.loadBalancer.enabled:true" + ] + }, + { + "path": "central.exposure.nodePort.enabled", + "displayName": "Enabled", + "description": "The default is: false." + }, + { + "path": "central.exposure.nodePort.port", + "displayName": "Port", + "description": "Use this to specify an explicit node port. Most users should leave this empty.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:central.exposure.nodePort.enabled:true" + ] + }, + { + "path": "central.exposure.route.enabled", + "displayName": "Enabled", + "description": "Expose Central with a passthrough route.\nThe default is: false." + }, + { + "path": "central.exposure.route.host", + "displayName": "Host", + "description": "Specify a custom hostname for the Central route.\nIf unspecified, an appropriate default value will be automatically chosen by the OpenShift route operator." + }, + { + "path": "central.exposure.route.reencrypt", + "displayName": "Re-Encrypt Route", + "description": "Set up a Central route with reencrypt TLS termination.\nFor reencrypt routes, the request is terminated on the OpenShift router with a custom certificate.\nThe request is then reencrypted by the OpenShift router and sent to Central.\n[user] --TLS--> [OpenShift router] --TLS--> [Central]" + }, + { + "path": "central.exposure.route.reencrypt.enabled", + "displayName": "Enabled", + "description": "Expose Central with a reencrypt route.\nShould not be used for sensor communication.\nThe default is: false." + }, + { + "path": "central.exposure.route.reencrypt.host", + "displayName": "Host", + "description": "Specify a custom hostname for the Central reencrypt route.\nIf unspecified, an appropriate default value will be automatically chosen by the OpenShift route operator." + }, + { + "path": "central.exposure.route.reencrypt.tls", + "displayName": "TLS Settings", + "description": "TLS settings for exposing Central via a reencrypt Route." + }, + { + "path": "central.exposure.route.reencrypt.tls.caCertificate", + "displayName": "CA Certificate", + "description": "The PEM encoded certificate chain that may be used to establish a complete chain of trust.\nDefaults to the OpenShift certificate authority." + }, + { + "path": "central.exposure.route.reencrypt.tls.certificate", + "displayName": "Certificate", + "description": "The PEM encoded certificate that is served on the route. Must be a single serving\ncertificate instead of a certificate chain.\nDefaults to a certificate signed by the OpenShift certificate authority." + }, + { + "path": "central.exposure.route.reencrypt.tls.destinationCACertificate", + "displayName": "Destination CA Certificate", + "description": "The CA certificate of the final destination, i.e. of Central.\nUsed by the OpenShift router for health checks on the secure connection.\nDefaults to the Central certificate authority." + }, + { + "path": "central.exposure.route.reencrypt.tls.key", + "displayName": "Private Key", + "description": "The PEM encoded private key of the certificate that is served on the route.\nDefaults to a certificate signed by the OpenShift certificate authority." + }, + { + "path": "central.monitoring.exposeEndpoint", + "displayName": "Expose Endpoint", + "description": "Expose the monitoring endpoint. A new service, \"monitoring\",\nwith port 9090, will be created as well as a network policy allowing\ninbound connections to the port." + }, + { + "path": "central.notifierSecretsEncryption.enabled", + "displayName": "Enabled", + "description": "Enables the encryption of notifier secrets stored in the Central DB.\nThe default is: false." + }, + { + "path": "central.persistence.hostPath", + "displayName": "Host Path", + "description": "Obsolete unused field.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.persistence.persistentVolumeClaim", + "displayName": "Persistent Volume Claim", + "description": "Obsolete unused field.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.persistence.hostPath.path", + "displayName": "Path", + "description": "The path on the host running Central." + }, + { + "path": "central.persistence.persistentVolumeClaim.claimName", + "displayName": "Claim Name", + "description": "Obsolete unused field.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.persistence.persistentVolumeClaim.size", + "displayName": "Size", + "description": "Obsolete unused field.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.persistence.persistentVolumeClaim.storageClassName", + "displayName": "Storage Class Name", + "description": "Obsolete unused field.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "central.telemetry.enabled", + "displayName": "Enabled", + "description": "Specifies whether Telemetry is enabled.\nThe default is: true.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:booleanSwitch" + ] + }, + { + "path": "central.telemetry.storage", + "displayName": "Storage", + "description": "Defines the telemetry storage backend for Central.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:central.telemetry.enabled:true" + ] + }, + { + "path": "central.telemetry.storage.endpoint", + "displayName": "Endpoint", + "description": "Storage API endpoint." + }, + { + "path": "central.telemetry.storage.key", + "displayName": "Key", + "description": "Storage API key. If not set, telemetry is disabled." + }, + { + "path": "configAsCode.configAsCodeComponent", + "displayName": "Config as Code component", + "description": "If you want to deploy the Config as Code component, set this to \"Enabled\"\nThe default is: Enabled." + }, + { + "path": "configAsCode.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "configAsCode.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "configAsCode.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "configAsCode.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "customize.labels", + "displayName": "Labels", + "description": "Custom labels to set on all managed objects." + }, + { + "path": "customize.annotations", + "displayName": "Annotations", + "description": "Custom annotations to set on all managed objects." + }, + { + "path": "customize.envVars", + "displayName": "Environment Variables", + "description": "Custom environment variables to set on managed pods' containers." + }, + { + "path": "customize.deploymentDefaults", + "displayName": "Deployment Defaults", + "description": "Global nodeSelector and tolerations for Deployment-based components. DaemonSets (Collector) are not affected.\nComponent-level nodeSelector and tolerations settings override these defaults on a field-by-field basis." + }, + { + "path": "customize.deploymentDefaults.pinToNodes", + "displayName": "Pin To Nodes", + "description": "Pin all Deployment-based components to specific node types. This is a convenience setting\nthat automatically configures both nodeSelector and tolerations with predefined values.\nUse this for common scenarios like running on OpenShift infrastructure nodes.\nFor custom node selection, use the explicit nodeSelector and tolerations fields instead.\nCannot be used together with nodeSelector or tolerations fields.\nThe default is: None." + }, + { + "path": "customize.deploymentDefaults.nodeSelector", + "displayName": "Node Selector", + "description": "Default nodeSelector applied to all Deployment-based components. Use this for custom node\nselection criteria.\nCannot be used together with pinToNodes." + }, + { + "path": "customize.deploymentDefaults.tolerations", + "displayName": "Tolerations", + "description": "Default tolerations applied to all Deployment-based components. Use this when your target\nnodes have custom taints that pods must tolerate.\nCannot be used together with pinToNodes." + }, + { + "path": "egress.connectivityPolicy", + "displayName": "Connectivity Policy", + "description": "Configures whether Red Hat Advanced Cluster Security should run in online or offline (disconnected) mode.\nIn offline mode, automatic updates of vulnerability definitions and kernel modules are disabled.\nThe default is: Online." + }, + { + "path": "imagePullSecrets[0].name", + "displayName": "Name", + "description": "The name of the referenced secret.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:Secret" + ] + }, + { + "path": "misc.createSCCs", + "displayName": "Create SecurityContextConstraints for Operand", + "description": "Deprecated field. This field will be removed in a future release.\nSet this to true to have the operator create SecurityContextConstraints (SCCs) for the operands. This\nisn't usually needed, and may interfere with other workloads.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "monitoring.openshift.enabled", + "displayName": "Enabled", + "description": "The default is: true.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:booleanSwitch" + ] + }, + { + "path": "network.policies", + "displayName": "Network Policies", + "description": "To provide security at the network level, the ACS Operator creates NetworkPolicy resources by default. If you want to manage your own NetworkPolicy objects then set this to \"Disabled\".\nThe default is: Enabled." + }, + { + "path": "overlays[0].apiVersion", + "displayName": "API Version", + "description": "Resource API version." + }, + { + "path": "overlays[0].kind", + "displayName": "Kind", + "description": "Resource kind." + }, + { + "path": "overlays[0].name", + "displayName": "Name", + "description": "Name of resource." + }, + { + "path": "overlays[0].optional", + "displayName": "Optional", + "description": "Optional marks the overlay as optional.\nWhen Optional is true, and the specified resource does not exist in the output manifests, the overlay will be skipped, and a warning will be logged.\nWhen Optional is false, and the specified resource does not exist in the output manifests, an error will be thrown." + }, + { + "path": "overlays[0].patches", + "displayName": "Patches", + "description": "List of patches to apply to resource." + }, + { + "path": "overlays[0].patches[0].path", + "displayName": "Path", + "description": "Path of the form a.[key1:value1].b.[:value2]\nWhere [key1:value1] is a selector for a key-value pair to identify a list element and [:value] is a value\nselector to identify a list element in a leaf list.\nAll path intermediate nodes must exist." + }, + { + "path": "overlays[0].patches[0].value", + "displayName": "Value", + "description": "Value to add, delete or replace.\nFor add, the path should be a new leaf.\nFor delete, value should be unset.\nFor replace, path should reference an existing node.\nAll values are strings but are converted into appropriate type based on schema." + }, + { + "path": "overlays[0].patches[0].verbatim", + "displayName": "Verbatim", + "description": "Verbatim value to add, delete or replace.\nSame as Value, but the content is not interpreted as YAML and is treated as a literal string instead.\nAt least one of Value and Verbatim must be empty." + }, + { + "path": "scanner.scannerComponent", + "displayName": "Scanner Component", + "description": "If you do not want to deploy the Red Hat Advanced Cluster Security Scanner, you can disable it here\n(not recommended). By default, the scanner is enabled.\nIf you do so, all the settings in this section will have no effect." + }, + { + "path": "scanner.analyzer", + "displayName": "Analyzer", + "description": "Settings pertaining to the analyzer deployment, such as for autoscaling.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scanner.scannerComponent:Enabled" + ] + }, + { + "path": "scanner.db", + "displayName": "DB", + "description": "Settings pertaining to the database used by the Red Hat Advanced Cluster Security Scanner.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scanner.scannerComponent:Enabled" + ] + }, + { + "path": "scanner.monitoring", + "displayName": "Monitoring", + "description": "Configures monitoring endpoint for Scanner. The monitoring endpoint\nallows other services to collect metrics from Scanner, provided in\nPrometheus compatible format." + }, + { + "path": "scanner.analyzer.scaling", + "displayName": "Scaling", + "description": "Controls the number of analyzer replicas and autoscaling." + }, + { + "path": "scanner.analyzer.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scanner.analyzer.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scanner.analyzer.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scanner.analyzer.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scanner.analyzer.scaling.autoScaling", + "displayName": "Autoscaling", + "description": "When enabled, the number of component replicas is managed dynamically based on the load, within the limits\nspecified below.\nThe default is: Enabled." + }, + { + "path": "scanner.analyzer.scaling.replicas", + "displayName": "Default Replicas", + "description": "When autoscaling is disabled, the number of replicas will always be configured to match this value.\nThe default is: 3." + }, + { + "path": "scanner.analyzer.scaling.minReplicas", + "displayName": "Autoscaling Minimum Replicas", + "description": "The default is: 2.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scanner.analyzer.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scanner.analyzer.scaling.maxReplicas", + "displayName": "Autoscaling Maximum Replicas", + "description": "The default is: 5.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scanner.analyzer.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scanner.db.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scanner.db.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scanner.db.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scanner.db.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scanner.monitoring.exposeEndpoint", + "displayName": "Expose Endpoint", + "description": "Expose the monitoring endpoint. A new service, \"monitoring\",\nwith port 9090, will be created as well as a network policy allowing\ninbound connections to the port." + }, + { + "path": "scannerV4.scannerComponent", + "displayName": "Scanner V4 component", + "description": "Can be specified as \"Enabled\" or \"Disabled\".\nIf this field is not specified, the following defaulting takes place:\n* for upgrades to 4.8 from previous releases, the default is: Disabled;\n* for new installations starting with ACS 4.8, the default is: Enabled." + }, + { + "path": "scannerV4.indexer", + "displayName": "Indexer", + "description": "Settings pertaining to the indexer deployment.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.scannerComponent:Enabled" + ] + }, + { + "path": "scannerV4.matcher", + "displayName": "Matcher", + "description": "Settings pertaining to the matcher deployment.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.scannerComponent:Enabled" + ] + }, + { + "path": "scannerV4.db", + "displayName": "DB", + "description": "Settings pertaining to the DB deployment.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.scannerComponent:Enabled" + ] + }, + { + "path": "scannerV4.monitoring", + "displayName": "Monitoring", + "description": "Configures monitoring endpoint for Scanner V4. The monitoring endpoint\nallows other services to collect metrics from Scanner V4, provided in\nPrometheus compatible format.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.scannerComponent:Enabled" + ] + }, + { + "path": "scannerV4.db.persistence", + "displayName": "Persistence", + "description": "Configures how Scanner V4 should store its persistent data.\nYou can use a persistent volume claim (the recommended default), a host path,\nor an emptyDir volume if Scanner V4 is running on a secured cluster without default StorageClass." + }, + { + "path": "scannerV4.db.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scannerV4.db.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scannerV4.db.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scannerV4.db.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scannerV4.db.persistence.persistentVolumeClaim", + "displayName": "Persistent volume claim", + "description": "Uses a Kubernetes persistent volume claim (PVC) to manage the storage location of persistent data.\nRecommended for most users." + }, + { + "path": "scannerV4.db.persistence.hostPath", + "displayName": "Host path", + "description": "Stores persistent data in a directory on the host. This is not recommended, and should only\nbe used together with a node selector (only available in YAML view)." + }, + { + "path": "scannerV4.db.persistence.hostPath.path", + "displayName": "Path", + "description": "The path on the host running Central." + }, + { + "path": "scannerV4.db.persistence.persistentVolumeClaim.claimName", + "displayName": "Claim Name", + "description": "The name of the PVC to manage persistent data. If no PVC with the given name exists, it will be\ncreated.\nThe default is: scanner-v4-db." + }, + { + "path": "scannerV4.db.persistence.persistentVolumeClaim.size", + "displayName": "Size", + "description": "The size of the persistent volume when created through the claim. If a claim was automatically created,\nthis can be used after the initial deployment to resize (grow) the volume (only supported by some\nstorage class controllers).", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:text" + ] + }, + { + "path": "scannerV4.db.persistence.persistentVolumeClaim.storageClassName", + "displayName": "Storage Class", + "description": "The name of the storage class to use for the PVC. If your cluster is not configured with a default storage\nclass, you must select a value here.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:StorageClass" + ] + }, + { + "path": "scannerV4.indexer.scaling", + "displayName": "Scaling", + "description": "Controls the number of replicas and autoscaling for this component." + }, + { + "path": "scannerV4.indexer.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scannerV4.indexer.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scannerV4.indexer.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scannerV4.indexer.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scannerV4.indexer.scaling.autoScaling", + "displayName": "Autoscaling", + "description": "When enabled, the number of component replicas is managed dynamically based on the load, within the limits\nspecified below.\nThe default is: Enabled." + }, + { + "path": "scannerV4.indexer.scaling.replicas", + "displayName": "Default Replicas", + "description": "When autoscaling is disabled, the number of replicas will always be configured to match this value.\nThe default is: 3." + }, + { + "path": "scannerV4.indexer.scaling.minReplicas", + "displayName": "Autoscaling Minimum Replicas", + "description": "The default is: 2.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.indexer.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scannerV4.indexer.scaling.maxReplicas", + "displayName": "Autoscaling Maximum Replicas", + "description": "The default is: 5.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.indexer.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scannerV4.matcher.scaling", + "displayName": "Scaling", + "description": "Controls the number of replicas and autoscaling for this component." + }, + { + "path": "scannerV4.matcher.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scannerV4.matcher.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scannerV4.matcher.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scannerV4.matcher.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scannerV4.matcher.scaling.autoScaling", + "displayName": "Autoscaling", + "description": "When enabled, the number of component replicas is managed dynamically based on the load, within the limits\nspecified below.\nThe default is: Enabled." + }, + { + "path": "scannerV4.matcher.scaling.replicas", + "displayName": "Default Replicas", + "description": "When autoscaling is disabled, the number of replicas will always be configured to match this value.\nThe default is: 3." + }, + { + "path": "scannerV4.matcher.scaling.minReplicas", + "displayName": "Autoscaling Minimum Replicas", + "description": "The default is: 2.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.matcher.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scannerV4.matcher.scaling.maxReplicas", + "displayName": "Autoscaling Maximum Replicas", + "description": "The default is: 5.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.matcher.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scannerV4.monitoring.exposeEndpoint", + "displayName": "Expose Endpoint", + "description": "Expose the monitoring endpoint. A new service, \"monitoring\",\nwith port 9090, will be created as well as a network policy allowing\ninbound connections to the port." + }, + { + "path": "tls.additionalCAs", + "displayName": "Additional CAs", + "description": "Allows you to specify additional trusted Root CAs." + } + ] + }, + { + "name": "securedclusters.platform.stackrox.io", + "version": "v1alpha1", + "kind": "SecuredCluster", + "displayName": "Secured Cluster", + "description": "SecuredCluster is the configuration template for the secured cluster services. These include Sensor, which is\nresponsible for the connection to Central, and Collector, which performs host-level collection of process and\nnetwork events.

\n**Important:** Please see the _Installation Prerequisites_ on the main RHACS operator page before deploying, or\nconsult the RHACS documentation on creating cluster init bundles.", + "resources": [ + { + "name": "", + "kind": "DaemonSet", + "version": "v1" + }, + { + "name": "", + "kind": "Deployment", + "version": "v1" + } + ], + "statusDescriptors": [ + { + "path": "productVersion", + "displayName": "Product Version", + "description": "The deployed version of the product." + }, + { + "path": "clusterName", + "displayName": "Cluster Name", + "description": "The assigned cluster name per the spec. This cannot be changed afterwards. If you need to change the\ncluster name, please delete and recreate this resource." + }, + { + "path": "observedGeneration", + "displayName": "Observed Generation", + "description": "ObservedGeneration is the generation most recently observed by the controller." + } + ], + "specDescriptors": [ + { + "path": "clusterName", + "displayName": "Cluster Name", + "description": "The unique name of this cluster, as it will be shown in the Red Hat Advanced Cluster Security UI.\nNote: Once a name is set here, you will not be able to change it again. You will need to delete\nand re-create this object in order to register a cluster with a new name." + }, + { + "path": "centralEndpoint", + "displayName": "Central Endpoint", + "description": "The endpoint of the Red Hat Advanced Cluster Security Central instance to connect to,\nincluding the port number. If no port is specified and the endpoint contains an https://\nprotocol specification, then the port 443 is implicitly assumed.\nIf using a non-gRPC capable load balancer, use the WebSocket protocol by prefixing the endpoint\naddress with wss://.\nNote: when leaving this blank, Sensor will attempt to connect to a Central instance running in the same\nnamespace." + }, + { + "path": "sensor", + "displayName": "Sensor Settings", + "description": "Settings for the Sensor component." + }, + { + "path": "admissionControl", + "displayName": "Admission Control Settings", + "description": "Settings for the Admission Control component, which is necessary for preventive policy enforcement,\nand for Kubernetes event monitoring." + }, + { + "path": "perNode", + "displayName": "Per Node Settings", + "description": "Settings for the components running on each node in the cluster (Collector and Compliance)." + }, + { + "path": "auditLogs", + "displayName": "Kubernetes Audit Logs Ingestion Settings", + "description": "Settings relating to the ingestion of Kubernetes audit logs." + }, + { + "path": "processBaselines", + "displayName": "Process Baselines Settings", + "description": "Settings relating to process baselines." + }, + { + "path": "scanner", + "displayName": "Scanner Component Settings", + "description": "Settings for the Scanner component, which is responsible for vulnerability scanning of container\nimages stored in a cluster-local image repository." + }, + { + "path": "scannerV4", + "displayName": "Scanner V4 Component Settings", + "description": "Settings for the Scanner V4 components, which can run in addition to the previously existing Scanner components" + }, + { + "path": "tls", + "displayName": "TLS", + "description": "Settings related to Transport Layer Security, such as Certificate Authorities." + }, + { + "path": "imagePullSecrets", + "displayName": "Image Pull Secrets", + "description": "Additional image pull secrets to be taken into account for pulling images.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "customize", + "displayName": "Customizations", + "description": "Customizations to apply on all Secured Cluster Services components.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "overlays", + "displayName": "Overlays", + "description": "Overlays", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "monitoring", + "displayName": "Monitoring", + "description": "Monitoring configuration.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "registryOverride", + "displayName": "Custom Default Image Registry", + "description": "Set this parameter to override the default registry in images. For example, nginx:latest -> /library/nginx:latest", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "network", + "displayName": "Network", + "description": "Network configuration.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:advanced" + ] + }, + { + "path": "misc", + "displayName": "Miscellaneous", + "description": "Deprecated field. This field will be removed in a future release.\nMiscellaneous settings.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "admissionControl.enforcement", + "displayName": "Enforcement", + "description": "Set to Disabled to disable policy enforcement for the admission controller. This is not recommended.\nOn upgrades to 4.9 from previous releases, defaults to Enabled only if at least one of listenOnCreates or listenOnUpdates is true.\nOn new deployments starting with version 4.9, the default is: Enabled." + }, + { + "path": "admissionControl.bypass", + "displayName": "Bypass", + "description": "Enables teams to bypass admission control in a monitored manner in the event of an emergency.\nThe default is: BreakGlassAnnotation." + }, + { + "path": "admissionControl.failurePolicy", + "displayName": "Failure Policy", + "description": "If set to \"Fail\", the admission controller's webhooks are configured to fail-closed in case admission controller\nfails to respond in time. A failure policy \"Ignore\" configures the webhooks to fail-open.\nThe default is: Ignore." + }, + { + "path": "admissionControl.replicas", + "displayName": "Replicas", + "description": "The number of replicas of the admission control pod.\nThe default is: 3." + }, + { + "path": "admissionControl.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "admissionControl.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "admissionControl.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "admissionControl.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "admissionControl.contactImageScanners", + "displayName": "Contact Image Scanners", + "description": "Deprecated field. This field will be removed in a future release.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "admissionControl.listenOnCreates", + "displayName": "Listen On Creates", + "description": "Deprecated field. This field will be removed in a future release.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "admissionControl.listenOnEvents", + "displayName": "Listen On Events", + "description": "Deprecated field. This field will be removed in a future release.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "admissionControl.listenOnUpdates", + "displayName": "Listen On Updates", + "description": "Deprecated field. This field will be removed in a future release.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "admissionControl.timeoutSeconds", + "displayName": "Timeout Seconds", + "description": "Deprecated field. This field will be removed in a future release.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "auditLogs.collection", + "displayName": "Collection", + "description": "Whether collection of Kubernetes audit logs should be enabled or disabled. Currently, this is only\nsupported on OpenShift 4, and trying to enable it on non-OpenShift 4 clusters will result in an error.\nUse the 'Auto' setting to enable it on compatible environments, and disable it elsewhere.\nThe default is: Auto." + }, + { + "path": "customize.labels", + "displayName": "Labels", + "description": "Custom labels to set on all managed objects." + }, + { + "path": "customize.annotations", + "displayName": "Annotations", + "description": "Custom annotations to set on all managed objects." + }, + { + "path": "customize.envVars", + "displayName": "Environment Variables", + "description": "Custom environment variables to set on managed pods' containers." + }, + { + "path": "customize.deploymentDefaults", + "displayName": "Deployment Defaults", + "description": "Global nodeSelector and tolerations for Deployment-based components. DaemonSets (Collector) are not affected.\nComponent-level nodeSelector and tolerations settings override these defaults on a field-by-field basis." + }, + { + "path": "customize.deploymentDefaults.pinToNodes", + "displayName": "Pin To Nodes", + "description": "Pin all Deployment-based components to specific node types. This is a convenience setting\nthat automatically configures both nodeSelector and tolerations with predefined values.\nUse this for common scenarios like running on OpenShift infrastructure nodes.\nFor custom node selection, use the explicit nodeSelector and tolerations fields instead.\nCannot be used together with nodeSelector or tolerations fields.\nThe default is: None." + }, + { + "path": "customize.deploymentDefaults.nodeSelector", + "displayName": "Node Selector", + "description": "Default nodeSelector applied to all Deployment-based components. Use this for custom node\nselection criteria.\nCannot be used together with pinToNodes." + }, + { + "path": "customize.deploymentDefaults.tolerations", + "displayName": "Tolerations", + "description": "Default tolerations applied to all Deployment-based components. Use this when your target\nnodes have custom taints that pods must tolerate.\nCannot be used together with pinToNodes." + }, + { + "path": "imagePullSecrets[0].name", + "displayName": "Name", + "description": "The name of the referenced secret.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:Secret" + ] + }, + { + "path": "misc.createSCCs", + "displayName": "Create SecurityContextConstraints for Operand", + "description": "Deprecated field. This field will be removed in a future release.\nSet this to true to have the operator create SecurityContextConstraints (SCCs) for the operands. This\nisn't usually needed, and may interfere with other workloads.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "monitoring.openshift.enabled", + "displayName": "Enabled", + "description": "The default is: true.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:booleanSwitch" + ] + }, + { + "path": "network.policies", + "displayName": "Network Policies", + "description": "To provide security at the network level, the ACS Operator creates NetworkPolicy resources by default. If you want to manage your own NetworkPolicy objects then set this to \"Disabled\".\nThe default is: Enabled." + }, + { + "path": "overlays[0].apiVersion", + "displayName": "API Version", + "description": "Resource API version." + }, + { + "path": "overlays[0].kind", + "displayName": "Kind", + "description": "Resource kind." + }, + { + "path": "overlays[0].name", + "displayName": "Name", + "description": "Name of resource." + }, + { + "path": "overlays[0].optional", + "displayName": "Optional", + "description": "Optional marks the overlay as optional.\nWhen Optional is true, and the specified resource does not exist in the output manifests, the overlay will be skipped, and a warning will be logged.\nWhen Optional is false, and the specified resource does not exist in the output manifests, an error will be thrown." + }, + { + "path": "overlays[0].patches", + "displayName": "Patches", + "description": "List of patches to apply to resource." + }, + { + "path": "overlays[0].patches[0].path", + "displayName": "Path", + "description": "Path of the form a.[key1:value1].b.[:value2]\nWhere [key1:value1] is a selector for a key-value pair to identify a list element and [:value] is a value\nselector to identify a list element in a leaf list.\nAll path intermediate nodes must exist." + }, + { + "path": "overlays[0].patches[0].value", + "displayName": "Value", + "description": "Value to add, delete or replace.\nFor add, the path should be a new leaf.\nFor delete, value should be unset.\nFor replace, path should reference an existing node.\nAll values are strings but are converted into appropriate type based on schema." + }, + { + "path": "overlays[0].patches[0].verbatim", + "displayName": "Verbatim", + "description": "Verbatim value to add, delete or replace.\nSame as Value, but the content is not interpreted as YAML and is treated as a literal string instead.\nAt least one of Value and Verbatim must be empty." + }, + { + "path": "perNode.collector", + "displayName": "Collector Settings", + "description": "Settings for the Collector container, which is responsible for collecting process and networking\nactivity at the host level." + }, + { + "path": "perNode.compliance", + "displayName": "Compliance Settings", + "description": "Settings for the Compliance container, which is responsible for checking host-level configurations." + }, + { + "path": "perNode.nodeInventory", + "displayName": "Node Scanning Settings", + "description": "Settings for the Node-Inventory container, which is responsible for scanning the Nodes' filesystem." + }, + { + "path": "perNode.fileActivityMonitoring", + "displayName": "File Activity Monitoring Settings", + "description": "Settings for the File Activity Monitoring container, which is responsible for monitoring file operations on the Node." + }, + { + "path": "perNode.taintToleration", + "displayName": "Taint Toleration", + "description": "To ensure comprehensive monitoring of your cluster activity, Red Hat Advanced Cluster Security\nwill run services on every node in the cluster, including tainted nodes by default. If you do\nnot want this behavior, please select 'AvoidTaints' here.\nThe default is: TolerateTaints." + }, + { + "path": "perNode.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "perNode.collector.collection", + "displayName": "Collection", + "description": "The method for system-level data collection. CORE_BPF is recommended.\nIf you select \"NoCollection\", you will not be able to see any information about network activity\nand process executions. The remaining settings in this section will not have any effect.\nThe value is a subject of conversion by the operator if needed, e.g. to\nremove deprecated methods.\nThe default is: CORE_BPF.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:select:CORE_BPF", + "urn:alm:descriptor:com.tectonic.ui:select:NoCollection" + ] + }, + { + "path": "perNode.collector.imageFlavor", + "displayName": "Image Flavor", + "description": "Obsolete field.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "perNode.collector.forceCollection", + "displayName": "Force Collection", + "description": "Obsolete field. This field will be removed in a future release.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:hidden" + ] + }, + { + "path": "perNode.collector.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "perNode.compliance.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "perNode.fileActivityMonitoring.mode", + "displayName": "Mode", + "description": "Specifies whether File Activity Monitoring is deployed.\nThe default is: Disabled.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:select:Enabled", + "urn:alm:descriptor:com.tectonic.ui:select:Disabled" + ] + }, + { + "path": "perNode.fileActivityMonitoring.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "perNode.nodeInventory.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "processBaselines.autoLock", + "displayName": "Auto Lock", + "description": "Should process baselines be automatically locked when the observation period (1 hour by default) ends.\nThe default is: Disabled.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:select:Enabled", + "urn:alm:descriptor:com.tectonic.ui:select:Disabled" + ] + }, + { + "path": "scanner.scannerComponent", + "displayName": "Scanner Component", + "description": "If you do not want to deploy the Red Hat Advanced Cluster Security Scanner, you can disable it here\n(not recommended).\nIf you do so, all the settings in this section will have no effect.\nThe default is: AutoSense." + }, + { + "path": "scanner.analyzer", + "displayName": "Analyzer", + "description": "Settings pertaining to the analyzer deployment, such as for autoscaling." + }, + { + "path": "scanner.db", + "displayName": "DB", + "description": "Settings pertaining to the database used by the Red Hat Advanced Cluster Security Scanner." + }, + { + "path": "scanner.analyzer.scaling", + "displayName": "Scaling", + "description": "Controls the number of analyzer replicas and autoscaling." + }, + { + "path": "scanner.analyzer.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scanner.analyzer.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scanner.analyzer.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scanner.analyzer.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scanner.analyzer.scaling.autoScaling", + "displayName": "Autoscaling", + "description": "When enabled, the number of component replicas is managed dynamically based on the load, within the limits\nspecified below.\nThe default is: Enabled." + }, + { + "path": "scanner.analyzer.scaling.replicas", + "displayName": "Default Replicas", + "description": "When autoscaling is disabled, the number of replicas will always be configured to match this value.\nThe default is: 3." + }, + { + "path": "scanner.analyzer.scaling.minReplicas", + "displayName": "Autoscaling Minimum Replicas", + "description": "The default is: 2.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scanner.analyzer.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scanner.analyzer.scaling.maxReplicas", + "displayName": "Autoscaling Maximum Replicas", + "description": "The default is: 5.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scanner.analyzer.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scanner.db.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scanner.db.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scanner.db.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scanner.db.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scannerV4.scannerComponent", + "displayName": "Scanner V4 component", + "description": "If you want to enable the Scanner V4 component set this to \"AutoSense\".\nA value of \"AutoSense\" means that Scanner V4 should be installed,\nunless there is a Central resource in the same namespace.\nIn that case typically a central Scanner V4 will be deployed as a component of Central.\nA value of \"Disabled\" means that Scanner V4 should not be installed.\nIf this field is not specified or set to \"Default\", the following defaulting takes place:\n* for upgrades to 4.8 from previous releases, the default is: Disabled;\n* for new installations starting with ACS 4.8, the default is: AutoSense." + }, + { + "path": "scannerV4.indexer", + "displayName": "Indexer", + "description": "Settings pertaining to the indexer deployment.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.scannerComponent:AutoSense" + ] + }, + { + "path": "scannerV4.db", + "displayName": "DB", + "description": "Settings pertaining to the DB deployment.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.scannerComponent:AutoSense" + ] + }, + { + "path": "scannerV4.monitoring", + "displayName": "Monitoring", + "description": "Configures monitoring endpoint for Scanner V4. The monitoring endpoint\nallows other services to collect metrics from Scanner V4, provided in\nPrometheus compatible format.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.scannerComponent:AutoSense" + ] + }, + { + "path": "scannerV4.db.persistence", + "displayName": "Persistence", + "description": "Configures how Scanner V4 should store its persistent data.\nYou can use a persistent volume claim (the recommended default), a host path,\nor an emptyDir volume if Scanner V4 is running on a secured cluster without default StorageClass." + }, + { + "path": "scannerV4.db.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scannerV4.db.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scannerV4.db.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scannerV4.db.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scannerV4.db.persistence.persistentVolumeClaim", + "displayName": "Persistent volume claim", + "description": "Uses a Kubernetes persistent volume claim (PVC) to manage the storage location of persistent data.\nRecommended for most users." + }, + { + "path": "scannerV4.db.persistence.hostPath", + "displayName": "Host path", + "description": "Stores persistent data in a directory on the host. This is not recommended, and should only\nbe used together with a node selector (only available in YAML view)." + }, + { + "path": "scannerV4.db.persistence.hostPath.path", + "displayName": "Path", + "description": "The path on the host running Central." + }, + { + "path": "scannerV4.db.persistence.persistentVolumeClaim.claimName", + "displayName": "Claim Name", + "description": "The name of the PVC to manage persistent data. If no PVC with the given name exists, it will be\ncreated.\nThe default is: scanner-v4-db." + }, + { + "path": "scannerV4.db.persistence.persistentVolumeClaim.size", + "displayName": "Size", + "description": "The size of the persistent volume when created through the claim. If a claim was automatically created,\nthis can be used after the initial deployment to resize (grow) the volume (only supported by some\nstorage class controllers).", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:text" + ] + }, + { + "path": "scannerV4.db.persistence.persistentVolumeClaim.storageClassName", + "displayName": "Storage Class", + "description": "The name of the storage class to use for the PVC. If your cluster is not configured with a default storage\nclass, you must select a value here.", + "x-descriptors": [ + "urn:alm:descriptor:io.kubernetes:StorageClass" + ] + }, + { + "path": "scannerV4.indexer.scaling", + "displayName": "Scaling", + "description": "Controls the number of replicas and autoscaling for this component." + }, + { + "path": "scannerV4.indexer.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "scannerV4.indexer.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "scannerV4.indexer.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "scannerV4.indexer.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "scannerV4.indexer.scaling.autoScaling", + "displayName": "Autoscaling", + "description": "When enabled, the number of component replicas is managed dynamically based on the load, within the limits\nspecified below.\nThe default is: Enabled." + }, + { + "path": "scannerV4.indexer.scaling.replicas", + "displayName": "Default Replicas", + "description": "When autoscaling is disabled, the number of replicas will always be configured to match this value.\nThe default is: 3." + }, + { + "path": "scannerV4.indexer.scaling.minReplicas", + "displayName": "Autoscaling Minimum Replicas", + "description": "The default is: 2.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.indexer.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scannerV4.indexer.scaling.maxReplicas", + "displayName": "Autoscaling Maximum Replicas", + "description": "The default is: 5.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:fieldDependency:scannerV4.indexer.scaling.autoScaling:Enabled" + ] + }, + { + "path": "scannerV4.monitoring.exposeEndpoint", + "displayName": "Expose Endpoint", + "description": "Expose the monitoring endpoint. A new service, \"monitoring\",\nwith port 9090, will be created as well as a network policy allowing\ninbound connections to the port." + }, + { + "path": "sensor.resources", + "displayName": "Resources", + "description": "Allows overriding the default resource settings for this component. Please consult the documentation\nfor an overview of default resource requirements and a sizing guide.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:resourceRequirements" + ] + }, + { + "path": "sensor.nodeSelector", + "displayName": "Node Selector", + "description": "If you want this component to only run on specific nodes, you can configure a node selector here.\nThis setting overrides spec.customize.deploymentDefaults.nodeSelector." + }, + { + "path": "sensor.tolerations", + "displayName": "Tolerations", + "description": "If you want this component to only run on specific nodes, you can configure tolerations of tainted nodes.\nThis setting overrides spec.customize.deploymentDefaults.tolerations.", + "x-descriptors": [ + "urn:alm:descriptor:com.tectonic.ui:tolerations" + ] + }, + { + "path": "sensor.hostAliases", + "displayName": "Host Aliases", + "description": "HostAliases allows configuring additional hostnames to resolve in the pod's hosts file." + }, + { + "path": "tls.additionalCAs", + "displayName": "Additional CAs", + "description": "Allows you to specify additional trusted Root CAs." + } + ] + }, + { + "name": "securitypolicies.config.stackrox.io", + "version": "v1alpha1", + "kind": "SecurityPolicy", + "displayName": "Security Policy", + "description": "SecurityPolicy is the schema for the policies API.", + "resources": [ + { + "name": "", + "kind": "Deployment", + "version": "v1" + } + ] + } + ] + }, + "description": "## Why use Red Hat Advanced Cluster Security for Kubernetes?\n\nProtecting cloud-native applications requires significant changes in how we approach security—we must apply controls earlier in the application development life cycle, use the infrastructure itself to apply controls, and keep up with increasingly rapid release schedules.\n\n\nRed Hat® Advanced Cluster Security for Kubernetes, powered by StackRox technology, protects your vital applications across build, deploy, and runtime. Our software deploys in your infrastructure and integrates with your DevOps tooling and workflows to deliver better security and compliance. The policy engine includes hundreds of built-in controls to enforce DevOps and security best practices, industry standards such as CIS Benchmarks and National Institute of Standards Technology (NIST) guidelines, configuration management of both containers and Kubernetes, and runtime security.\n\nRed Hat Advanced Cluster Security for Kubernetes provides a Kubernetes-native architecture for container security, enabling DevOps and InfoSec teams to operationalize security.\n\n## Features and Benefits\n\n**Kubernetes-native security:**\n1. Increases protection.\n1. Eliminates blind spots, providing staff with insights into critical vulnerabilities and threat vectors.\n1. Reduces time and costs.\n1. Reduces the time and effort needed to implement security and streamlines security analysis, investigation, and remediation using the rich context Kubernetes provides.\n1. Increases scalability and portability.\n1. Provides scalability and resiliency native to Kubernetes, avoiding operational conflict and complexity that can result from out-of-band security controls.\n\n## Using the RHACS Operator\n\n**RHACS Operator channels:**\n\nRed Hat provides the RHACS Operator by using the following update channels in the Red Hat Operator catalog:\n\n* `stable`: Provides the most recent version and patches to the most recent version.\n Using the `stable` channel and configuring automatic operator upgrades ensures that the most recent RHACS version is deployed.\n* `rhacs-x.yy` (for example, `rhacs-3.74`): Channels follow a specific RHACS version and include all patches to that version (e.g. `3.74.0`, `3.74.1`, ...).\n\nNote that the `latest` channel is deprecated and is not updated after RHACS version 3.74. Newer versions are published to the `stable` channel.\n\n**RHACS comes with two custom resources:**\n\n1. **Central Services** - Central is a deployment required on only one cluster in your environment. Users interact with RHACS via the user interface or APIs on Central. Central also sends notifications for violations and interacts with integrations. Users may select exposures for Central that best meet their environment.\n\n2. **Secured Cluster Services** - Secured cluster services are placed on each cluster you manage and report back to Central. These services allow users to enforce policies and monitor your OpenShift and Kubernetes clusters. Secured Cluster Services come as two Deployments (Sensor and Admission Controller) and one DaemonSet (Collector).\n\n**Console Plugin (Tech Preview):** RHACS provides a dynamic plugin that displays vulnerability management information in the OpenShift web console. Install a SecuredCluster to deploy the plugin. Enable the plugin by selecting *Operators* > *Installed Operators* or by modifying the console Operator configuration.\n**Important:** The Console Plugin requires OpenShift 4.19 to 4.21.\n\n### Central Services Explained\n\n| Service | Deployment Type | Description |\n| :------------------------------- | :-------------- | :-------------- |\n| Central | Deployment | Users interact with Red Hat Advanced Cluster Security through the user interface or APIs on Central. Central also sends notifications for violations and interacts with integrations. |\n| Central DB | Deployment | Central DB is a PostgreSQL-based persistent storage for the data collected and managed by Central. |\n| Scanner | Deployment | Scanner is a Red Hat developed and certified image scanner. Scanner analyzes and reports vulnerabilities for images. Scanner uses HPA to scale the number of replicas based on workload. |\n| Scanner DB | Deployment | Scanner DB is a cache for vulnerability definitions to serve vulnerability scanning use cases throughout the software development life cycle. |\n\n### Secured Cluster Services Explained\n\n| Service | Deployment Type | Description |\n| :------------------------------- | :-------------- | :-------------- |\n| Sensor | Deployment | Sensor analyzes and monitors Kubernetes in secured clusters. |\n| Collector | DaemonSet | Analyzes and monitors container activity on Kubernetes nodes.|\n| Admission Controller | Deployment | ValidatingWebhookConfiguration for enforcing policies in the deploy lifecycle. |\n\n### Central Custom Resource\n\nCentral Services is the configuration template for RHACS Central deployment. For all customization options, please visit the RHACS documentation.\n\n### SecuredCluster Custom Resource\n\nSecuredCluster is the configuration template for the RHACS Secured Cluster services.\n\n#### Installation Prerequisites\n\nBefore deploying a SecuredCluster resource, you need to create a cluster init bundle secret.\n\n- **Through the RHACS UI:** To create a cluster init bundle secret through the RHACS UI, navigate to `Platform Configuration > Clusters`, and then click `Manage Tokens` in the top-right corner. Select `Cluster Init Bundle`, and click `Generate Bundle`. Select `Download Kubernetes secrets file`, and store the file under a name of your choice (for example, `cluster-init-secrets.yaml`).\n- **Through the `roxctl` CLI:** To create a cluster init bundle secret through the `roxctl` command-line interface, run `roxctl central init-bundles generate --output-secrets `. Choose any `name` and `file name` that you like.\n\nRun `oc project` and check that it reports the correct namespace where you intend to deploy SecuredCluster. In case you want to install SecuredCluster to a different namespace, select it by running `oc project `.\nThen, run `oc create -f init-bundle.yaml`. If you have chosen a name other than `init-bundle.yaml`, specify that file name instead.\n\n#### Required Fields\n\nThe following attributes are required to be specified. For all customization options, please visit the RHACS documentation.\n\n| Parameter | Description |\n| :----------------- | :-------------- |\n| `clusterName` | The name given to this secured cluster. The cluster will appear with this name in RHACS user interface. |\n| `centralEndpoint` | This field should specify the address of the Central endpoint, including the port number. `centralEndpoint` may be omitted if this SecuredCluster Custom Resource is in the same cluster and namespace as Central. |\n", + "displayName": "Advanced Cluster Security for Kubernetes", + "installModes": [ + { + "type": "OwnNamespace", + "supported": false + }, + { + "type": "SingleNamespace", + "supported": false + }, + { + "type": "MultiNamespace", + "supported": false + }, + { + "type": "AllNamespaces", + "supported": true + } + ], + "keywords": [ + "advanced-cluster-security", + "stackrox", + "security", + "vulnerabilities", + "compliance", + "devsecops", + "monitoring", + "scanning", + "runtime-security", + "network policy", + "configuration", + "risk" + ], + "labels": { + "operatorframework.io/arch.amd64": "supported", + "operatorframework.io/arch.arm64": "supported", + "operatorframework.io/arch.ppc64le": "supported", + "operatorframework.io/arch.s390x": "supported" + }, + "links": [ + { + "name": "Red Hat Advanced Cluster Security Documentation", + "url": "https://docs.openshift.com/acs/welcome/" + }, + { + "name": "DataSheet", + "url": "https://www.redhat.com/en/resources/advanced-cluster-security-for-kubernetes-datasheet" + }, + { + "name": "Support Policy", + "url": "https://access.redhat.com/node/5822721" + }, + { + "name": "Community Site", + "url": "https://www.stackrox.io/" + } + ], + "maintainers": [ + { + "name": "Advanced Cluster Security product team", + "email": "rhacs-pm@redhat.com" + } + ], + "maturity": "alpha", + "minKubeVersion": "1.15.0", + "provider": { + "name": "Red Hat" + } + } + } + ], + "relatedImages": [ + { + "name": "", + "image": "quay.io/rhacs-eng/release-operator-bundle@sha256:a0934f6fcb717f45dcd6408982f6c6d4f220ba4ea37cee768eae55878efc4449" + }, + { + "name": "central_db", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-central-db-rhel8@sha256:5558ec7bd75107a1d380378e33826fd2d967217faf83bbcdff983f2188ed3ace" + }, + { + "name": "collector", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-collector-rhel8@sha256:fee6f5ba7641d7f3da6e56d18486102ece21ab9c58b81f9de34df3e0602e935e" + }, + { + "name": "fact", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-fact-rhel8@sha256:d21a8c96e7825c738213ce327bdf20fb5a23740c0ec27a5200030617810bf944" + }, + { + "name": "main", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-main-rhel8@sha256:a81976edea61b5a5a5d050382f547c10515863653c33350af9a36954692a363f" + }, + { + "name": "manager", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-rhel8-operator@sha256:9840e33705f8370b7ac28f99da3e6cba72972f604007b3812da4a1f5fb499ab9" + }, + { + "name": "roxctl", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-roxctl-rhel8@sha256:c420ebdcab1392979056dba56cab52ea3209e358f65fc802dc4bb4b1bbd1e787" + }, + { + "name": "scanner_db", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-rhel8@sha256:451459a5ab0307a7e0748d29b1f61d01299ad458dd3226b6ff2470922c066af3" + }, + { + "name": "scanner_db_slim", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-db-slim-rhel8@sha256:3d691bec3343d1295c57b7a631885114bb6a7f7e06148db12af39cc619895883" + }, + { + "name": "scanner", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-rhel8@sha256:7ba8b5157fb73833ab881e8368baf7d240a312ffe6f1d277cf54cf0e8b4fac82" + }, + { + "name": "scanner_slim", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-slim-rhel8@sha256:80229d33ea4d5d0eca8f69e89782514d62b9163e6ee063bbb81979e62f5cf128" + }, + { + "name": "scanner_v4_db", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-v4-db-rhel8@sha256:2df1c7423464de281c73d16db9ace27f40551b02272f6fdde6a335e31af13490" + }, + { + "name": "scanner_v4", + "image": "registry.redhat.io/advanced-cluster-security/rhacs-scanner-v4-rhel8@sha256:35fef072ff54c997d38916b73802a6a6af4c97066b22ce048c5274c7a8505b47" + } + ] +} { "schema": "olm.bundle", "name": "rhacs-operator.v4.2.0", diff --git a/catalog-template.yaml b/catalog-template.yaml index f43140f8..b541a513 100644 --- a/catalog-template.yaml +++ b/catalog-template.yaml @@ -2527,6 +2527,9 @@ entries: - name: rhacs-operator.v4.10.2 replaces: rhacs-operator.v4.10.1 skipRange: ">= 4.9.0 < 4.10.2" + - name: rhacs-operator.v4.10.3-rc.1 + replaces: rhacs-operator.v4.10.2 + skipRange: ">= 4.9.0 < 4.10.3-rc.1" - schema: olm.channel name: stable package: rhacs-operator @@ -2800,6 +2803,9 @@ entries: - name: rhacs-operator.v4.10.2 replaces: rhacs-operator.v4.10.1 skipRange: ">= 4.9.0 < 4.10.2" + - name: rhacs-operator.v4.10.3-rc.1 + replaces: rhacs-operator.v4.10.2 + skipRange: ">= 4.9.0 < 4.10.3-rc.1" - schema: olm.deprecations package: rhacs-operator entries: @@ -3619,3 +3625,5 @@ entries: image: registry.redhat.io/advanced-cluster-security/rhacs-operator-bundle@sha256:aa1984fa95a56acef9828b273563c3a552b192a5eb97f79daacd036d734a4d36 - schema: olm.bundle image: registry.redhat.io/advanced-cluster-security/rhacs-operator-bundle@sha256:630856aa5a1df361ff2b32ca7a9d14e18fc16d850fa543e89126e42cba30a66f +- schema: olm.bundle + image: quay.io/rhacs-eng/release-operator-bundle@sha256:a0934f6fcb717f45dcd6408982f6c6d4f220ba4ea37cee768eae55878efc4449