From d850c35356c25b021664ec7e6366a390ea44e34c Mon Sep 17 00:00:00 2001 From: Matthew Bernhardt Date: Wed, 14 Feb 2024 11:50:41 -0500 Subject: [PATCH 1/2] Add support for geobox searches to GraphQL ** Why are these changes being introduced: * We have enabled searching via a bounding box within OpenSearch, and need to extend that support to GraphQL in order to make it possible in the UI. ** Relevant ticket(s): * https://mitlibraries.atlassian.net/browse/gdt-184 ** How does this address that need: * This defines a GeoboxType, with four fields: two latitude and two longitude values, each expressed as floats. ** Document any side effects to this change: * I've tried to write tests to indicate the edges of what is possible - for example showing that you get results back if you provide both a geodistance and geobox (even if they don't result in overlapping regions - it seems like bbox is used in that case). * Similarly, I've written a test showing that it is valid to search using either order of the longitude values, because both results are valid - and different - bounding boxes. (If the latitude orders are reversed, the application errors in a way that is not captured via a cassette) --- app/graphql/types/geobox_type.rb | 10 + app/graphql/types/query_type.rb | 13 +- .../controllers/graphql_controller_v2_test.rb | 182 +++++++ test/vcr_cassettes/graphqlv2_geobox.yml | 77 +++ .../graphqlv2_geobox_eastern_hemisphere.yml | 448 ++++++++++++++++++ .../graphqlv2_geobox_western_hemisphere.yml | 436 +++++++++++++++++ .../graphqlv2_geobox_with_geodistance.yml | 32 ++ .../graphqlv2_geobox_with_keyword.yml | 34 ++ 8 files changed, 1227 insertions(+), 5 deletions(-) create mode 100644 app/graphql/types/geobox_type.rb create mode 100644 test/vcr_cassettes/graphqlv2_geobox.yml create mode 100644 test/vcr_cassettes/graphqlv2_geobox_eastern_hemisphere.yml create mode 100644 test/vcr_cassettes/graphqlv2_geobox_western_hemisphere.yml create mode 100644 test/vcr_cassettes/graphqlv2_geobox_with_geodistance.yml create mode 100644 test/vcr_cassettes/graphqlv2_geobox_with_keyword.yml diff --git a/app/graphql/types/geobox_type.rb b/app/graphql/types/geobox_type.rb new file mode 100644 index 00000000..1ffa1ec9 --- /dev/null +++ b/app/graphql/types/geobox_type.rb @@ -0,0 +1,10 @@ +module Types + class GeoboxType < Types::BaseInputObject + description 'Search within a box specified by pairs of latitudes and longitudes. Their order should be left, ' \ + 'bottom, right, top' + argument :min_longitude, Float, description: 'A decimal between -180.0 and 180.0 (Western hemisphere is negative)' + argument :min_latitude, Float, description: 'A decimal between -90.0 and 90.0 (Southern hemisphere is negative)' + argument :max_longitude, Float, description: 'A decimal between -180.0 and 180.0 (Western hemisphere is negative)' + argument :max_latitude, Float, description: 'A decimal between -90.0 and 90.0 (Southern hemisphere is negative)' + end +end diff --git a/app/graphql/types/query_type.rb b/app/graphql/types/query_type.rb index beb7146b..10ca2d68 100644 --- a/app/graphql/types/query_type.rb +++ b/app/graphql/types/query_type.rb @@ -43,6 +43,8 @@ def record_id(id:, index:) 'award name, etc.' argument :geodistance, GeodistanceType, required: false, default_value: nil, description: 'Search within a certain distance of a specific location' + argument :geobox, GeoboxType, required: false, default_value: nil, + description: 'Search within a specified box' argument :identifiers, String, required: false, default_value: nil, description: 'Search by unique indentifier; e.g., ISBN, DOI, etc.' argument :locations, String, required: false, default_value: nil, description: 'Search by locations' @@ -79,9 +81,9 @@ def record_id(id:, index:) 'for a list of possible values' end - def search(searchterm:, citation:, contributors:, funding_information:, geodistance:, identifiers:, locations:, - subjects:, title:, index:, source:, from:, **filters) - query = construct_query(searchterm, citation, contributors, funding_information, geodistance, identifiers, + def search(searchterm:, citation:, contributors:, funding_information:, geodistance:, geobox:, identifiers:, + locations:, subjects:, title:, index:, source:, from:, **filters) + query = construct_query(searchterm, citation, contributors, funding_information, geodistance, geobox, identifiers, locations, subjects, title, source, filters) results = Opensearch.new.search(from, query, Timdex::OSClient, highlight_requested?, index) @@ -111,14 +113,15 @@ def inject_hits_fields_into_source(hits) modded_sources end - def construct_query(searchterm, citation, contributors, funding_information, geodistance, identifiers, locations, - subjects, title, source, filters) + def construct_query(searchterm, citation, contributors, funding_information, geodistance, geobox, identifiers, + locations, subjects, title, source, filters) query = {} query[:q] = searchterm query[:citation] = citation query[:contributors] = contributors query[:funding_information] = funding_information query[:geodistance] = geodistance + query[:geobox] = geobox query[:identifiers] = identifiers query[:locations] = locations query[:subjects] = subjects diff --git a/test/controllers/graphql_controller_v2_test.rb b/test/controllers/graphql_controller_v2_test.rb index b3aed558..585a45bd 100644 --- a/test/controllers/graphql_controller_v2_test.rb +++ b/test/controllers/graphql_controller_v2_test.rb @@ -252,6 +252,188 @@ def setup end end + test 'graphqlv2 geobox search alone' do + VCR.use_cassette('graphqlv2 geobox') do + post '/graphql', params: { query: '{ + search(geobox: { + minLongitude: -73.507, + minLatitude: 41.239, + maxLongitude: -69.928, + maxLatitude: 42.886 + }) { + hits + records { + title + locations { + geoshape + kind + value + } + } + } + }' } + assert_equal(200, response.status) + json = JSON.parse(response.body) + + assert_nil(json['errors']) + assert(json['data']['search']['hits'].positive?) + end + end + + test 'graphqlv2 geobox search required arguments' do + post '/graphql', params: { query: '{ + search(geobox: { + minLongitude: -73.507, + minLatitude: 41.239, + maxLongitude: -69.928, + }) { + hits + records { + title + locations { + geoshape + kind + value + } + } + } + }' } + assert_equal(200, response.status) + json = JSON.parse(response.body) + + assert(json['errors'].length.positive?) + assert_equal( + "Argument 'maxLatitude' on InputObject 'Geobox' is required. Expected type Float!", + json['errors'].first['message'] + ) + end + + test 'graphqlv2 geobox search longitude order matters' do + # This is fragile to our collection having an equal number of records in both hemispheres. + eastern_hits = 0 + western_hits = 0 + VCR.use_cassette('graphqlv2 geobox eastern hemisphere') do + post '/graphql', params: { query: '{ + search(geobox: { + minLongitude: 0, + minLatitude: -90, + maxLongitude: 180, + maxLatitude: 90 + }) { + hits + records { + title + locations { + geoshape + kind + value + } + } + } + }' } + assert_equal(200, response.status) + json = JSON.parse(response.body) + + assert_nil(json['errors']) + eastern_hits = json['data']['search']['hits'] + assert(eastern_hits.positive?) + end + VCR.use_cassette('graphqlv2 geobox western hemisphere') do + post '/graphql', params: { query: '{ + search(geobox: { + minLongitude: 180, + minLatitude: -90, + maxLongitude: 0, + maxLatitude: 90 + }) { + hits + records { + title + locations { + geoshape + kind + value + } + } + } + }' } + assert_equal(200, response.status) + json = JSON.parse(response.body) + + assert_nil(json['errors']) + western_hits = json['data']['search']['hits'] + assert(western_hits.positive?) + end + refute_equal(eastern_hits, western_hits) + end + + test 'graphqlv2 geobox search with keyword search' do + VCR.use_cassette('graphqlv2 geobox with keyword') do + post '/graphql', params: { query: '{ + search( + searchterm: "train stations", + geobox: { + minLongitude: -73.507, + minLatitude: 41.239, + maxLongitude: -69.928, + maxLatitude: 42.886 + } + ) { + hits + records { + title + locations { + geoshape + kind + value + } + } + } + }' } + assert_equal(200, response.status) + json = JSON.parse(response.body) + + assert_nil(json['errors']) + assert(json['data']['search']['hits'].positive?) + end + end + + test 'graphqlv2 geobox search with geodistance search' do + # Should this work? It does. + VCR.use_cassette('graphqlv2 geobox with geodistance') do + post '/graphql', params: { query: '{ + search( + geodistance: { + distance: "1km", + latitude: 0, + longitude: 0 + }, + geobox: { + minLongitude: -73.507, + minLatitude: 41.239, + maxLongitude: -69.928, + maxLatitude: 42.886 + } + ) { + hits + records { + title + locations { + geoshape + kind + value + } + } + } + }' } + assert_equal(200, response.status) + json = JSON.parse(response.body) + + assert_nil(json['errors']) + assert(json['data']['search']['hits'].positive?) + end + end + test 'graphqlv2 search aggregations' do VCR.use_cassette('graphql v2 search data') do post '/graphql', params: { query: '{ diff --git a/test/vcr_cassettes/graphqlv2_geobox.yml b/test/vcr_cassettes/graphqlv2_geobox.yml new file mode 100644 index 00000000..729b7e6f --- /dev/null +++ b/test/vcr_cassettes/graphqlv2_geobox.yml @@ -0,0 +1,77 @@ +--- +http_interactions: +- request: + method: get + uri: http://localhost:9200/ + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - 'opensearch-ruby/3.1.0 (RUBY_VERSION: 3.2.2; darwin arm64; Faraday v2.9.0)' + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=UTF-8 + Content-Length: + - '567' + body: + encoding: ASCII-8BIT + string: | + { + "name" : "57e0dc0fc53d", + "cluster_name" : "docker-cluster", + "cluster_uuid" : "DoZb5LNrT7eUN8gEh-aLJg", + "version" : { + "distribution" : "opensearch", + "number" : "2.11.1", + "build_type" : "tar", + "build_hash" : "6b1986e964d440be9137eba1413015c31c5a7752", + "build_date" : "2023-11-29T21:45:35.524809067Z", + "build_snapshot" : false, + "lucene_version" : "9.7.0", + "minimum_wire_compatibility_version" : "7.10.0", + "minimum_index_compatibility_version" : "7.0.0" + }, + "tagline" : "The OpenSearch Project: https://opensearch.org/" + } + recorded_at: Wed, 14 Feb 2024 16:30:39 GMT +- request: + method: post + uri: http://localhost:9200/timdex-prod/_search + body: + encoding: UTF-8 + string: '{"from":"0","size":20,"query":{"bool":{"should":null,"must":[{"bool":{"must":{"match_all":{}},"filter":{"geo_bounding_box":{"locations.geoshape":{"top":42.886,"bottom":41.239,"left":-73.507,"right":-69.928}}}}}],"filter":[]}},"aggregations":{"contributors":{"nested":{"path":"contributors"},"aggs":{"contributor_names":{"terms":{"field":"contributors.value.keyword"}}}},"content_type":{"terms":{"field":"content_type"}},"content_format":{"terms":{"field":"format"}},"languages":{"terms":{"field":"languages.keyword"}},"literary_form":{"terms":{"field":"literary_form"}},"source":{"terms":{"field":"source"}},"subjects":{"nested":{"path":"subjects"},"aggs":{"subject_names":{"terms":{"field":"subjects.value.keyword"}}}}},"sort":[{"_score":{"order":"desc"}},{"dates.value.as_date":{"order":"desc","nested":{"path":"dates"}}}]}' + headers: + User-Agent: + - 'opensearch-ruby/3.1.0 (RUBY_VERSION: 3.2.2; darwin arm64; Faraday v2.9.0)' + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=UTF-8 + Content-Length: + - '57546' + body: + encoding: ASCII-8BIT + string: !binary |- + eyJ0b29rIjo1NiwidGltZWRfb3V0IjpmYWxzZSwiX3NoYXJkcyI6eyJ0b3RhbCI6MSwic3VjY2Vzc2Z1bCI6MSwic2tpcHBlZCI6MCwiZmFpbGVkIjowfSwiaGl0cyI6eyJ0b3RhbCI6eyJ2YWx1ZSI6ODI1LCJyZWxhdGlvbiI6ImVxIn0sIm1heF9zY29yZSI6bnVsbCwiaGl0cyI6W3siX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6dXNfbWFfYm9zdG9uX2c0N3BhcmNlbHNfMjAxOCIsIl9zY29yZSI6MS4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OnVzX21hX2Jvc3Rvbl9nNDdwYXJjZWxzXzIwMTgiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OnVzX21hX2Jvc3Rvbl9nNDdwYXJjZWxzXzIwMTgiLCJ0aXRsZSI6IkJvc3RvbiwgTUEgKExhbmQgcGFyY2VscywgMjAxOCkiLCJjaXRhdGlvbiI6IkNpdHkgb2YgQm9zdG9uIEFzc2Vzc2luZyBEZXBhcnRtZW50LiBCb3N0b24sIE1BIChMYW5kIHBhcmNlbHMsIDIwMTgpLiBHSVMgTGFiLCBNSVQgTGlicmFyaWVzLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6dXNfbWFfYm9zdG9uX2c0N3BhcmNlbHNfMjAxOCIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6IkNpdHkgb2YgQm9zdG9uIEFzc2Vzc2luZyBEZXBhcnRtZW50Iiwia2luZCI6IkNyZWF0b3IifV0sImRhdGVzIjpbeyJraW5kIjoiSXNzdWVkIiwidmFsdWUiOiIyMDE4LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTUtMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxNSJ9XSwiZm9ybWF0IjoiVmVjdG9yIiwiaWRlbnRpZmllcnMiOlt7InZhbHVlIjoidXNfbWFfYm9zdG9uX2c0N3BhcmNlbHNfMjAxOCIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn1dLCJsYW5ndWFnZXMiOlsiZW5nIl0sImxpbmtzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvdXNfbWFfYm9zdG9uX2c0N3BhcmNlbHNfMjAxOC5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvdXNfbWFfYm9zdG9uX2c0N3BhcmNlbHNfMjAxOC5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcmVzdHJpY3RlZC91c19tYV9ib3N0b25fZzQ3cGFyY2Vsc18yMDE4LnppcCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJEYXRhIFppcGZpbGUifV0sImxvY2F0aW9ucyI6W3sia2luZCI6IkJvdW5kaW5nIEJveCIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjE5MDkxMywgLTcwLjg2ODY1NCwgNDIuMzk3MDEyLCA0Mi4yMjc4NjQpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC03MS4xOTA5MTMsIC03MC44Njg2NTQsIDQyLjM5NzAxMiwgNDIuMjI3ODY0KSJ9XSwicHVibGljYXRpb25faW5mb3JtYXRpb24iOlsiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifSx7ImRlc2NyaXB0aW9uIjoiTi9BIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiRWNvbm9teSJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIkJvdW5kYXJpZXMiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJMb2NhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMtLUJvc3RvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIkxhbmQgdXNlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiTmVpZ2hib3Job29kcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkFkbWluaXN0cmF0aXZlIGFuZCBwb2xpdGljYWwgZGl2aXNpb25zIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiTGFuZCB2YWx1ZSB0YXhhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkxhbmQgdGVudXJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiZWNvbm9teSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbInBsYW5uaW5nQ2FkYXN0cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJib3VuZGFyaWVzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsibG9jYXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJEYXRhc2V0cyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn0seyJ2YWx1ZSI6WyJHLXBvbHlnb24iXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9XSwic3VtbWFyeSI6WyJDaXR5IG9mIEJvc3RvbiBwcm9wZXJ0eSBwYXJjZWwgZGF0YSBmcm9tIEZZIDIwMTggd2FzIGpvaW5lZCB3aXRoIHBhcmNlbCBib3VuZGFyaWVzIGZyb20gRlkgMjAxOC4gQWxsIGRhdGEgaXMgZnJvbSB0aGUgQ2l0eSBvZiBCb3N0b24gQXNzZXNzb3IncyBvZmZpY2UgYW5kIHJlcHJlc2VudHMgZGF0YSBmcm9tIDIwMTcuIl19LCJzb3J0IjpbMS4wLDE1MTQ3NjQ4MDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OnVzX21hX2Jvc3Rvbl9nNDdwYXJjZWxzXzIwMTciLCJfc2NvcmUiOjEuMCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDp1c19tYV9ib3N0b25fZzQ3cGFyY2Vsc18yMDE3IiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDp1c19tYV9ib3N0b25fZzQ3cGFyY2Vsc18yMDE3IiwidGl0bGUiOiJCb3N0b24sIE1BIChMYW5kIHBhcmNlbHMsIDIwMTcpIiwiY2l0YXRpb24iOiJDaXR5IG9mIEJvc3RvbiBBc3Nlc3NpbmcgRGVwYXJ0bWVudC4gQm9zdG9uLCBNQSAoTGFuZCBwYXJjZWxzLCAyMDE3KS4gR0lTIExhYiwgTUlUIExpYnJhcmllcy4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OnVzX21hX2Jvc3Rvbl9nNDdwYXJjZWxzXzIwMTciLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJDaXR5IG9mIEJvc3RvbiBBc3Nlc3NpbmcgRGVwYXJ0bWVudCIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAxNy0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDE3LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTcifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6InVzX21hX2Jvc3Rvbl9nNDdwYXJjZWxzXzIwMTciLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL3VzX21hX2Jvc3Rvbl9nNDdwYXJjZWxzXzIwMTcuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL3VzX21hX2Jvc3Rvbl9nNDdwYXJjZWxzXzIwMTcubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvdXNfbWFfYm9zdG9uX2c0N3BhcmNlbHNfMjAxNy56aXAiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiRGF0YSBaaXBmaWxlIn1dLCJsb2NhdGlvbnMiOlt7ImtpbmQiOiJCb3VuZGluZyBCb3giLCJnZW9zaGFwZSI6IkJCT1ggKC03MS4xOTA5MTMsIC03MC45MjMwNTUsIDQyLjM5NzAwNCwgNDIuMjI3ODU2KSJ9LHsia2luZCI6Ikdlb21ldHJ5IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTkwOTEzLCAtNzAuOTIzMDU1LCA0Mi4zOTcwMDQsIDQyLjIyNzg1NikifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlJlc3RyaWN0ZWQiLCJraW5kIjoiQWNjZXNzIn0seyJkZXNjcmlwdGlvbiI6Ik4vQSJ9XSwic3ViamVjdHMiOlt7InZhbHVlIjpbIkVjb25vbXkiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJCb3VuZGFyaWVzIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiTG9jYXRpb24iXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJNYXNzYWNodXNldHRzLS1Cb3N0b24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJMYW5kIHVzZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIk5laWdoYm9yaG9vZHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJBZG1pbmlzdHJhdGl2ZSBhbmQgcG9saXRpY2FsIGRpdmlzaW9ucyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkxhbmQgdmFsdWUgdGF4YXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJMYW5kIHRlbnVyZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImVjb25vbXkiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJwbGFubmluZ0NhZGFzdHJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiYm91bmRhcmllcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImxvY2F0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRy1wb2x5Z29uIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiQ2l0eSBvZiBCb3N0b24gcHJvcGVydHkgcGFyY2VsIGRhdGEgZnJvbSBGWSAyMDE3IHdhcyBqb2luZWQgd2l0aCBwYXJjZWwgYm91bmRhcmllcyBmcm9tIEZZIDIwMTcuIEFsbCBkYXRhIGlzIGZyb20gdGhlIENpdHkgb2YgQm9zdG9uIEFzc2Vzc29yJ3Mgb2ZmaWNlIGFuZCByZXByZXNlbnRzIGRhdGEgZnJvbSAyMDE2LiJdfSwic29ydCI6WzEuMCwxNDgzMjI4ODAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpVU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDE2IiwiX3Njb3JlIjoxLjAsIl9zb3VyY2UiOnsic291cmNlIjoiTUlUIEdJUyBSZXNvdXJjZXMiLCJzb3VyY2VfbGluayI6Imh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6VVNfTUFfQk9TVE9OX0c0N1BBUkNFTFNfMjAxNiIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6VVNfTUFfQk9TVE9OX0c0N1BBUkNFTFNfMjAxNiIsInRpdGxlIjoiQm9zdG9uLCBNQSAoTGFuZCBwYXJjZWxzLCAyMDE2KSIsImNpdGF0aW9uIjoiQ2l0eSBvZiBCb3N0b24gQXNzZXNzaW5nIERlcGFydG1lbnQuIEJvc3RvbiwgTUEgKExhbmQgcGFyY2VscywgMjAxNikuIEdJUyBMYWIsIE1JVCBMaWJyYXJpZXMuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpVU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDE2IiwiY29udGVudF90eXBlIjpbIkdlb3NwYXRpYWwgZGF0YSJdLCJjb250cmlidXRvcnMiOlt7InZhbHVlIjoiQ2l0eSBvZiBCb3N0b24gQXNzZXNzaW5nIERlcGFydG1lbnQiLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMTctMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxNi0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDE2In1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJ1c19tYV9ib3N0b25fZzQ3cGFyY2Vsc18yMDE2Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDE2LnNvdXJjZS5mZ2RjLnhtbCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJTb3VyY2UgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDE2Lm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9yZXN0cmljdGVkL1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTYuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTkwOTEzLCAtNzAuOTIzMDU1LCA0Mi4zOTcwMDQsIDQyLjIyNzg1NikifSx7ImtpbmQiOiJHZW9tZXRyeSIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjE5MDkxMywgLTcwLjkyMzA1NSwgNDIuMzk3MDA0LCA0Mi4yMjc4NTYpIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJHSVMgTGFiLCBNSVQgTGlicmFyaWVzIl0sInJpZ2h0cyI6W3siZGVzY3JpcHRpb24iOiJSZXN0cmljdGVkIiwia2luZCI6IkFjY2VzcyJ9LHsiZGVzY3JpcHRpb24iOiJOL0EifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJFY29ub215Il0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiQm91bmRhcmllcyJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIkxvY2F0aW9uIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiQm9zdG9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiVVNBIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiTWFzc2FjaHVzZXR0cyJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIk1BIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsicGFyY2VscyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImxhbmQgcGFyY2VscyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImxhbmQgdXNlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsid2FyZHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJwb2x5Z29uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsidGF4Il0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsibGFuZCBvd25lcnNoaXAiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJpbXByb3ZlbWVudHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJuZWlnaGJvcmhvb2RzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsibG90IHNpemUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJlY29ub215Il0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsicGxhbm5pbmdDYWRhc3RyZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImJvdW5kYXJpZXMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJsb2NhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkctcG9seWdvbiJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIkNpdHkgb2YgQm9zdG9uIHByb3BlcnR5IHBhcmNlbCBkYXRhIGZyb20gRlkgMjAxNiB3YXMgam9pbmVkIHdpdGggcGFyY2VsIGJvdW5kYXJpZXMgZnJvbSBGWSAyMDE2LiBBbGwgZGF0YSBpcyBmcm9tIHRoZSBDaXR5IG9mIEJvc3RvbiBBc3Nlc3NvcidzIG9mZmljZSBhbmQgcmVwcmVzZW50cyBkYXRhIGZyb20gMjAxNS4iXX0sInNvcnQiOlsxLjAsMTQ4MzIyODgwMDAwMF19LHsiX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6VVNfTUFfQk9TVE9OX0c0N1BBUkNFTFNfMjAxNSIsIl9zY29yZSI6MS4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlVTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTUiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlVTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTUiLCJ0aXRsZSI6IkJvc3RvbiwgTUEgKExhbmQgcGFyY2VscywgMjAxNSkiLCJjaXRhdGlvbiI6IkNpdHkgb2YgQm9zdG9uIEFzc2Vzc2luZyBEZXBhcnRtZW50LiBCb3N0b24sIE1BIChMYW5kIHBhcmNlbHMsIDIwMTUpLiBDaXR5IG9mIEJvc3RvbiBBc3Nlc3NpbmcgRGVwYXJ0bWVudC4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlVTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTUiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJDaXR5IG9mIEJvc3RvbiBBc3Nlc3NpbmcgRGVwYXJ0bWVudCIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAxNS0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDE1LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTUifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6InVzX21hX2Jvc3Rvbl9nNDdwYXJjZWxzXzIwMTUiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTUuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTUubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvVVNfTUFfQk9TVE9OX0c0N1BBUkNFTFNfMjAxNS56aXAiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiRGF0YSBaaXBmaWxlIn1dLCJsb2NhdGlvbnMiOlt7ImtpbmQiOiJCb3VuZGluZyBCb3giLCJnZW9zaGFwZSI6IkJCT1ggKC03MS4xOTA5MTMsIC03MC45NTMxODQsIDQyLjM5NzAxMiwgNDIuMjI3ODY0KSJ9LHsia2luZCI6Ikdlb21ldHJ5IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTkwOTEzLCAtNzAuOTUzMTg0LCA0Mi4zOTcwMTIsIDQyLjIyNzg2NCkifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkNpdHkgb2YgQm9zdG9uIEFzc2Vzc2luZyBEZXBhcnRtZW50IiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifSx7ImRlc2NyaXB0aW9uIjoiTi9BIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiRWNvbm9teSJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIkJvdW5kYXJpZXMiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJMb2NhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIkJvc3RvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIlVTQSJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJNQSJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbInBhcmNlbHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJsYW5kIHBhcmNlbHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJsYW5kIHVzZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIndhcmRzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsicG9seWdvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbInRheCJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImxhbmQgb3duZXJzaGlwIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiaW1wcm92ZW1lbnRzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsibmVpZ2hib3Job29kcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImxvdCBzaXplIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiZWNvbm9teSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbInBsYW5uaW5nQ2FkYXN0cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJib3VuZGFyaWVzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsibG9jYXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJEYXRhc2V0cyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn0seyJ2YWx1ZSI6WyJHLXBvbHlnb24iXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9XSwic3VtbWFyeSI6WyJDaXR5IG9mIEJvc3RvbiBwcm9wZXJ0eSBwYXJjZWwgZGF0YSBmcm9tIEZZIDIwMTUgd2FzIGpvaW5lZCB3aXRoIHBhcmNlbCBib3VuZGFyaWVzIGZyb20gRlkgMjAxNS4gQWxsIGRhdGEgaXMgZnJvbSB0aGUgQ2l0eSBvZiBCb3N0b24gQXNzZXNzb3IncyBvZmZpY2UgYW5kIHJlcHJlc2VudHMgZGF0YSBmcm9tIDIwMTQuIl19LCJzb3J0IjpbMS4wLDE0MjAwNzA0MDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OlNERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TM0dfMjAxNCIsIl9zY29yZSI6MS4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TM0dfMjAxNCIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfSU5UX1A5NElOQ0xVU0lPTlMzR18yMDE0IiwidGl0bGUiOiJXb3JsZCAoM0cgTW9iaWxlIFBob25lIENvdmVyYWdlIEluY2x1c2lvbiwgMjAxNCkiLCJjaXRhdGlvbiI6IkNvbGxpbnMgQmFydGhvbG9tZXcuIFdvcmxkICgzRyBNb2JpbGUgUGhvbmUgQ292ZXJhZ2UgSW5jbHVzaW9uLCAyMDE0KS4gQ29sbGlucyBCYXJ0aG9sb21ldy4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TM0dfMjAxNCIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6IkNvbGxpbnMgQmFydGhvbG9tZXciLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMTQtMTItMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxNC0xMi0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDE0In1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJJTlRfUDk0SU5DTFVTSU9OUzNHXzIwMTQiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TM0dfMjAxNC5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfSU5UX1A5NElOQ0xVU0lPTlMzR18yMDE0Lm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9yZXN0cmljdGVkL1NERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TM0dfMjAxNC56aXAiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiRGF0YSBaaXBmaWxlIn1dLCJsb2NhdGlvbnMiOlt7ImtpbmQiOiJCb3VuZGluZyBCb3giLCJnZW9zaGFwZSI6IkJCT1ggKC0xNTAuMDAwMDAwLCAxNzcuOTcyMDAwLCA2NC43OTM0MDQsIC00MC4wMDAwMDApIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xNTAuMDAwMDAwLCAxNzcuOTcyMDAwLCA2NC43OTM0MDQsIC00MC4wMDAwMDApIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJDb2xsaW5zIEJhcnRob2xvbWV3IiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJFYXJ0aCAoUGxhbmV0KSJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbInV0aWxpdGllc0NvbW11bmljYXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJQdWJsaWMgdXRpbGl0aWVzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRW50aXR5IHBvaW50Il0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiVGhlc2UgaW5jbHVzaW9uIG1ldGFkYXRhIGZpbGVzIGZvciBHU00sIDNHLCBhbmQgNEcgbW9iaWxlIGNvdmVyYWdlIGFyZSBhbiBhdHRlbXB0IGF0IGxpc3RpbmcgYWxsIHRoZSBuZXR3b3JrcyB3aGljaCBhcmUgaW5jbHVkZWQgaW4gdGhlIHNlcGFyYXRlIHdvcmxkIG1vYmlsZSBwaG9uZSBjb3ZlcmFnZSBkYXRhc2V0cy4gVW5mb3J0dW5hdGVseSB0aGUgbGlzdHMgY2Fubm90IGJlIGNvbXByZWhlbnNpdmUgYmVjYXVzZSBsZWdhY3kgZGF0YXNldHMgZGlkIG5vdCBtYWludGFpbiB0aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gbWFrZSB0aGVtIGNvbXBsZXRlLiJdfSwic29ydCI6WzEuMCwxNDE3MzkyMDAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9JTlRfUDk0SU5DTFVTSU9OUzRHXzIwMTQiLCJfc2NvcmUiOjEuMCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9JTlRfUDk0SU5DTFVTSU9OUzRHXzIwMTQiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TNEdfMjAxNCIsInRpdGxlIjoiV29ybGQgKDRHIE1vYmlsZSBQaG9uZSBDb3ZlcmFnZSBJbmNsdXNpb24sIDIwMTQpIiwiY2l0YXRpb24iOiJDb2xsaW5zIEJhcnRob2xvbWV3LiBXb3JsZCAoNEcgTW9iaWxlIFBob25lIENvdmVyYWdlIEluY2x1c2lvbiwgMjAxNCkuIENvbGxpbnMgQmFydGhvbG9tZXcuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9JTlRfUDk0SU5DTFVTSU9OUzRHXzIwMTQiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJDb2xsaW5zIEJhcnRob2xvbWV3Iiwia2luZCI6IkNyZWF0b3IifV0sImRhdGVzIjpbeyJraW5kIjoiSXNzdWVkIiwidmFsdWUiOiIyMDE0LTEyLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTQtMTItMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxNCJ9XSwiZm9ybWF0IjoiVmVjdG9yIiwiaWRlbnRpZmllcnMiOlt7InZhbHVlIjoiSU5UX1A5NElOQ0xVU0lPTlM0R18yMDE0Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9JTlRfUDk0SU5DTFVTSU9OUzRHXzIwMTQuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TNEdfMjAxNC5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcmVzdHJpY3RlZC9TREVfREFUQV9JTlRfUDk0SU5DTFVTSU9OUzRHXzIwMTQuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTAwLjAwMDAwMCwgMTcwLjQ4MTA3MCwgNjQuNTE4Nzg0LCAtNDAuMDAwMDAwKSJ9LHsia2luZCI6Ikdlb21ldHJ5IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTAwLjAwMDAwMCwgMTcwLjQ4MTA3MCwgNjQuNTE4Nzg0LCAtNDAuMDAwMDAwKSJ9XSwicHVibGljYXRpb25faW5mb3JtYXRpb24iOlsiQ29sbGlucyBCYXJ0aG9sb21ldyIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlJlc3RyaWN0ZWQiLCJraW5kIjoiQWNjZXNzIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiRWFydGggKFBsYW5ldCkiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJ1dGlsaXRpZXNDb21tdW5pY2F0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiUHVibGljIHV0aWxpdGllcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkVudGl0eSBwb2ludCJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIlRoZXNlIGluY2x1c2lvbiBtZXRhZGF0YSBmaWxlcyBmb3IgR1NNLCAzRywgYW5kIDRHIG1vYmlsZSBjb3ZlcmFnZSBhcmUgYW4gYXR0ZW1wdCBhdCBsaXN0aW5nIGFsbCB0aGUgbmV0d29ya3Mgd2hpY2ggYXJlIGluY2x1ZGVkIGluIHRoZSBzZXBhcmF0ZSB3b3JsZCBtb2JpbGUgcGhvbmUgY292ZXJhZ2UgZGF0YXNldHMuIFVuZm9ydHVuYXRlbHkgdGhlIGxpc3RzIGNhbm5vdCBiZSBjb21wcmVoZW5zaXZlIGJlY2F1c2UgbGVnYWN5IGRhdGFzZXRzIGRpZCBub3QgbWFpbnRhaW4gdGhlIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIG1ha2UgdGhlbSBjb21wbGV0ZS4iXX0sInNvcnQiOlsxLjAsMTQxNzM5MjAwMDAwMF19LHsiX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfSU5UX1A5NDRHXzIwMTQiLCJfc2NvcmUiOjEuMCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9JTlRfUDk0NEdfMjAxNCIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfSU5UX1A5NDRHXzIwMTQiLCJ0aXRsZSI6IldvcmxkICg0RyBNb2JpbGUgUGhvbmUgQ292ZXJhZ2UsIDIwMTQpIiwiY2l0YXRpb24iOiJDb2xsaW5zIEJhcnRob2xvbWV3LiBXb3JsZCAoNEcgTW9iaWxlIFBob25lIENvdmVyYWdlLCAyMDE0KS4gQ29sbGlucyBCYXJ0aG9sb21ldy4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX0lOVF9QOTQ0R18yMDE0IiwiY29udGVudF90eXBlIjpbIkdlb3NwYXRpYWwgZGF0YSJdLCJjb250cmlidXRvcnMiOlt7InZhbHVlIjoiQ29sbGlucyBCYXJ0aG9sb21ldyIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAxNC0xMi0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDE0LTEyLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTQifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IklOVF9QOTQ0R18yMDE0Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9JTlRfUDk0NEdfMjAxNC5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfSU5UX1A5NDRHXzIwMTQubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvU0RFX0RBVEFfSU5UX1A5NDRHXzIwMTQuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTM1LjM3MzE2OSwgMTc4LjE0NTk4NSwgNjguNTMyMDY2LCAtNDYuMTg2Njg0KSJ9LHsia2luZCI6Ikdlb21ldHJ5IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTM1LjM3MzE2OSwgMTc4LjE0NTk4NSwgNjguNTMyMDY2LCAtNDYuMTg2Njg0KSJ9XSwicHVibGljYXRpb25faW5mb3JtYXRpb24iOlsiQ29sbGlucyBCYXJ0aG9sb21ldyIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlJlc3RyaWN0ZWQiLCJraW5kIjoiQWNjZXNzIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiRWFydGggKFBsYW5ldCkiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJ1dGlsaXRpZXNDb21tdW5pY2F0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiUHVibGljIHV0aWxpdGllcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkctcG9seWdvbiJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIkNvbGxpbnMgTW9iaWxlIENvdmVyYWdlIEV4cGxvcmVyIGlzIGEgcmVwcmVzZW50YXRpb24gb2YgdGhlIGFyZWEgY292ZXJlZCBieSBtb2JpbGUgY29tbXVuaWNhdGlvbnMgYXJvdW5kIHRoZSB3b3JsZC4gVGhlIGRhdGEgaXMgY3JlYXRlZCBmcm9tIHN1Ym1pc3Npb25zLCBtYWRlIGRpcmVjdGx5IHRvIENvbGxpbnMgQmFydGhvbG9tZXcgb3IgdGhlIEdTTUEgZnJvbSBtb2JpbGUgb3BlcmF0b3JzLCB3aGljaCBwcm92aWRlIHJvYW1pbmcgZGV0YWlsIGZvciBpbmNsdXNpb24gaW4gdGhlIG9ubGluZSBtYXBwaW5nIGFwcGxpY2F0aW9uIGtub3duIGFzIENvbGxpbnMgTW9iaWxlIENvdmVyYWdlIFdlYi4iXX0sInNvcnQiOlsxLjAsMTQxNzM5MjAwMDAwMF19LHsiX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfSU5UX1A5NElOQ0xVU0lPTlNHU01fMjAxNCIsIl9zY29yZSI6MS4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TR1NNXzIwMTQiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TR1NNXzIwMTQiLCJ0aXRsZSI6IldvcmxkIChHU00gTW9iaWxlIFBob25lIENvdmVyYWdlIEluY2x1c2lvbiwgMjAxNCkiLCJjaXRhdGlvbiI6IkNvbGxpbnMgQmFydGhvbG9tZXcuIFdvcmxkIChHU00gTW9iaWxlIFBob25lIENvdmVyYWdlIEluY2x1c2lvbiwgMjAxNCkuIENvbGxpbnMgQmFydGhvbG9tZXcuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9JTlRfUDk0SU5DTFVTSU9OU0dTTV8yMDE0IiwiY29udGVudF90eXBlIjpbIkdlb3NwYXRpYWwgZGF0YSJdLCJjb250cmlidXRvcnMiOlt7InZhbHVlIjoiQ29sbGlucyBCYXJ0aG9sb21ldyIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAxNC0xMi0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDE0LTEyLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTQifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IklOVF9QOTRJTkNMVVNJT05TR1NNXzIwMTQiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TR1NNXzIwMTQuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TR1NNXzIwMTQubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvU0RFX0RBVEFfSU5UX1A5NElOQ0xVU0lPTlNHU01fMjAxNC56aXAiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiRGF0YSBaaXBmaWxlIn1dLCJsb2NhdGlvbnMiOlt7ImtpbmQiOiJCb3VuZGluZyBCb3giLCJnZW9zaGFwZSI6IkJCT1ggKC0xODAuMDAwMDAwLCAxNzcuOTcyMDAwLCA3NC43ODYwNDksIC01MC4wMDAwMDApIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xODAuMDAwMDAwLCAxNzcuOTcyMDAwLCA3NC43ODYwNDksIC01MC4wMDAwMDApIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJDb2xsaW5zIEJhcnRob2xvbWV3IiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJFYXJ0aCAoUGxhbmV0KSJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbInV0aWxpdGllc0NvbW11bmljYXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJDZWxsIHBob25lcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkVudGl0eSBwb2ludCJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIlRoZXNlIGluY2x1c2lvbiBtZXRhZGF0YSBmaWxlcyBmb3IgR1NNLCAzRywgYW5kIDRHIG1vYmlsZSBjb3ZlcmFnZSBhcmUgYW4gYXR0ZW1wdCBhdCBsaXN0aW5nIGFsbCB0aGUgbmV0d29ya3Mgd2hpY2ggYXJlIGluY2x1ZGVkIGluIHRoZSBzZXBhcmF0ZSB3b3JsZCBtb2JpbGUgcGhvbmUgY292ZXJhZ2UgZGF0YXNldHMuIFVuZm9ydHVuYXRlbHkgdGhlIGxpc3RzIGNhbm5vdCBiZSBjb21wcmVoZW5zaXZlIGJlY2F1c2UgbGVnYWN5IGRhdGFzZXRzIGRpZCBub3QgbWFpbnRhaW4gdGhlIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIG1ha2UgdGhlbSBjb21wbGV0ZS4iXX0sInNvcnQiOlsxLjAsMTQxNzM5MjAwMDAwMF19LHsiX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfVVNfTUFfQk9TVE9OX0c0N1BBUkNFTFNfMjAxNCIsIl9zY29yZSI6MS4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTQiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTQiLCJ0aXRsZSI6IkJvc3RvbiwgTUEgKExhbmQgUGFyY2VscywgMjAxNCkiLCJjaXRhdGlvbiI6IkJvc3RvbiAoTWFzcy4pIEFzc2Vzc2luZyBEZXBhcnRtZW50LiBCb3N0b24sIE1BIChMYW5kIFBhcmNlbHMsIDIwMTQpLiBCb3N0b24gKE1hc3MuKSBBc3Nlc3NpbmcgRGVwYXJ0bWVudC4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTQiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJCb3N0b24gKE1hc3MuKSBBc3Nlc3NpbmcgRGVwYXJ0bWVudCIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAxNC0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDE0LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTQifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IlVTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTQiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTQuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTQubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvU0RFX0RBVEFfVVNfTUFfQk9TVE9OX0c0N1BBUkNFTFNfMjAxNC56aXAiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiRGF0YSBaaXBmaWxlIn1dLCJsb2NhdGlvbnMiOlt7ImtpbmQiOiJCb3VuZGluZyBCb3giLCJnZW9zaGFwZSI6IkJCT1ggKC03MS4xOTExODIsIC03MC45MjI2MzUsIDQyLjM5NzY3OCwgNDIuMjI3MDA1KSJ9LHsia2luZCI6Ikdlb21ldHJ5IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTkxMTgyLCAtNzAuOTIyNjM1LCA0Mi4zOTc2NzgsIDQyLjIyNzAwNSkifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkJvc3RvbiAoTWFzcy4pIEFzc2Vzc2luZyBEZXBhcnRtZW50IiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifSx7ImRlc2NyaXB0aW9uIjoiTi9BIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiRWNvbm9teSJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIkJvdW5kYXJpZXMiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJMb2NhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMtLUJvc3RvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIkxhbmQgdXNlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiTmVpZ2hib3Job29kcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkFkbWluaXN0cmF0aXZlIGFuZCBwb2xpdGljYWwgZGl2aXNpb25zIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiTGFuZCB2YWx1ZSB0YXhhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkxhbmQgdGVudXJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiZWNvbm9teSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbInBsYW5uaW5nQ2FkYXN0cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJib3VuZGFyaWVzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsibG9jYXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJEYXRhc2V0cyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn0seyJ2YWx1ZSI6WyJHLXBvbHlnb24iXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9XSwic3VtbWFyeSI6WyJDaXR5IG9mIEJvc3RvbiBwcm9wZXJ0eSBwYXJjZWwgZGF0YSBmcm9tIEZZIDIwMTQgd2FzIGpvaW5lZCB3aXRoIHBhcmNlbCBib3VuZGFyaWVzIGZyb20gRlkgMjAxNC4gQWxsIGRhdGEgaXMgZnJvbSB0aGUgQ2l0eSBvZiBCb3N0b24gQXNzZXNzb3IncyBvZmZpY2UgYW5kIHJlcHJlc2VudHMgZGF0YSBmcm9tIDIwMTMuIl19LCJzb3J0IjpbMS4wLDEzODg1MzQ0MDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTMiLCJfc2NvcmUiOjEuMCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDEzIiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDEzIiwidGl0bGUiOiJCb3N0b24sIE1BIChMYW5kIFBhcmNlbHMsIDIwMTMpIiwiY2l0YXRpb24iOiJCb3N0b24gKE1hc3MpLiBBc3Nlc3NpbmcgRGVwYXJ0bWVudC4gQm9zdG9uLCBNQSAoTGFuZCBQYXJjZWxzLCAyMDEzKS4gQm9zdG9uIChNYXNzLikgQXNzZXNzaW5nIERlcGFydG1lbnQuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDEzIiwiY29udGVudF90eXBlIjpbIkdlb3NwYXRpYWwgZGF0YSJdLCJjb250cmlidXRvcnMiOlt7InZhbHVlIjoiQm9zdG9uIChNYXNzKS4gQXNzZXNzaW5nIERlcGFydG1lbnQiLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMTMtMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxMy0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDEzIn1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJVU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDEzIiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDEzLnNvdXJjZS5mZ2RjLnhtbCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJTb3VyY2UgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDEzLm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9yZXN0cmljdGVkL1NERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTMuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTkxMTgyLCAtNzAuOTIyNjM1LCA0Mi4zOTc2NzgsIDQyLjIyNzAwNSkifSx7ImtpbmQiOiJHZW9tZXRyeSIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjE5MTE4MiwgLTcwLjkyMjYzNSwgNDIuMzk3Njc4LCA0Mi4yMjcwMDUpIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJCb3N0b24gKE1hc3MuKSBBc3Nlc3NpbmcgRGVwYXJ0bWVudCIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlJlc3RyaWN0ZWQiLCJraW5kIjoiQWNjZXNzIn0seyJkZXNjcmlwdGlvbiI6Ik4vQSJ9XSwic3ViamVjdHMiOlt7InZhbHVlIjpbIkVjb25vbXkiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJCb3VuZGFyaWVzIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiTG9jYXRpb24iXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJNYXNzYWNodXNldHRzLS1Cb3N0b24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJMYW5kIHVzZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIk5laWdoYm9yaG9vZHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJBZG1pbmlzdHJhdGl2ZSBhbmQgcG9saXRpY2FsIGRpdmlzaW9ucyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkxhbmQgdmFsdWUgdGF4YXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJMYW5kIHRlbnVyZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbInBsYW5uaW5nQ2FkYXN0cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJlY29ub215Il0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiYm91bmRhcmllcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImxvY2F0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRy1wb2x5Z29uIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiQ2l0eSBvZiBCb3N0b24gcHJvcGVydHkgcGFyY2VsIGRhdGEgZnJvbSBGWSAyMDEzIHdhcyBqb2luZWQgd2l0aCBwYXJjZWwgYm91bmRhcmllcyBmcm9tIEZZIDIwMTMuIEFsbCBkYXRhIGlzIGZyb20gdGhlIENpdHkgb2YgQm9zdG9uIEFzc2Vzc29yJ3Mgb2ZmaWNlIGFuZCByZXByZXNlbnRzIGRhdGEgZnJvbSAyMDEyLiJdfSwic29ydCI6WzEuMCwxMzU2OTk4NDAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpHSVNQT1JUQUxfR0lTT1dORVIwMV9DQU1CUklER0VNRU1QT0xFUzA5IiwiX3Njb3JlIjoxLjAsIl9zb3VyY2UiOnsic291cmNlIjoiTUlUIEdJUyBSZXNvdXJjZXMiLCJzb3VyY2VfbGluayI6Imh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6R0lTUE9SVEFMX0dJU09XTkVSMDFfQ0FNQlJJREdFTUVNUE9MRVMwOSIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6R0lTUE9SVEFMX0dJU09XTkVSMDFfQ0FNQlJJREdFTUVNUE9MRVMwOSIsInRpdGxlIjoiTWVtb3JpYWwgUG9sZXMgQ2FtYnJpZGdlIE1BIDIwMDkiLCJjaXRhdGlvbiI6IkNhbWJyaWRnZSAoTWFzcy4pLiBHZW9ncmFwaGljIEluZm9ybWF0aW9uIFN5c3RlbXMuIE1lbW9yaWFsIFBvbGVzIENhbWJyaWRnZSBNQSAyMDA5LiBHSVMgTGFiLCBNSVQgTGlicmFyaWVzLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6R0lTUE9SVEFMX0dJU09XTkVSMDFfQ0FNQlJJREdFTUVNUE9MRVMwOSIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6IkNhbWJyaWRnZSAoTWFzcy4pLiBHZW9ncmFwaGljIEluZm9ybWF0aW9uIFN5c3RlbXMiLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMTItMDktMjAifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IkNhbWJyaWRnZU1lbVBvbGVzMDkiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL0dJU1BPUlRBTF9HSVNPV05FUjAxX0NBTUJSSURHRU1FTVBPTEVTMDkuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL0dJU1BPUlRBTF9HSVNPV05FUjAxX0NBTUJSSURHRU1FTVBPTEVTMDkubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9HSVNQT1JUQUxfR0lTT1dORVIwMV9DQU1CUklER0VNRU1QT0xFUzA5LnppcCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJEYXRhIFppcGZpbGUifV0sImxvY2F0aW9ucyI6W3sia2luZCI6IkJvdW5kaW5nIEJveCIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjE1Nzk1MCwgLTcxLjA3NjY2OSwgNDIuNDAyNTcyLCA0Mi4zNTUwODkpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC03MS4xNTc5NTAsIC03MS4wNzY2NjksIDQyLjQwMjU3MiwgNDIuMzU1MDg5KSJ9XSwicHVibGljYXRpb25faW5mb3JtYXRpb24iOlsiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUHVibGljIiwia2luZCI6IkFjY2VzcyJ9LHsiZGVzY3JpcHRpb24iOiJGb3IgZWR1Y2F0aW9uYWwgbm9uY29tbWVyY2lhbCB1c2Ugb25seS4ifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJTdHJ1Y3R1cmUiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJNYXNzYWNodXNldHRzLS1DYW1icmlkZ2UiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJNZW1vcmlhbHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJzdHJ1Y3R1cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJEYXRhc2V0cyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn0seyJ2YWx1ZSI6WyJFbnRpdHkgcG9pbnQiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9XSwic3VtbWFyeSI6WyJUaGlzIHBvaW50IGRhdGFzZXQgY29udGFpbnMgbWVtb3JpYWwgcG9sZXMsIG1hcmtlcnMsIGFuZCBwbGFxdWVzIGluc3RhbGxlZCBpbiBDYW1icmlkZ2UsIE1BIHRoYXQgY29tbWVtb3JhdGUgZXh0cmFvcmRpbmFyeSBjaXRpemVucyBhbmQgdGhvc2Ugd2hvIGhhdmUgZGllZCBvciBiZWVuIHJlcG9ydGVkIG1pc3NpbmcgaW4gY29tYmF0LiJdfSwic29ydCI6WzEuMCwxMzQ4MDk5MjAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9VU19NQV9DMzJGTE9PREhBWkFSRFNfMjAxMiIsIl9zY29yZSI6MS4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX0MzMkZMT09ESEFaQVJEU18yMDEyIiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19NQV9DMzJGTE9PREhBWkFSRFNfMjAxMiIsInRpdGxlIjoiTWFzc2FjaHVzZXR0cywgVVNBIChGbG9vZCBIYXphcmRzLCAyMDEyKSIsImNpdGF0aW9uIjoiVW5pdGVkIFN0YXRlcy4gRmVkZXJhbCBFbWVyZ2VuY3kgTWFuYWdlbWVudCBBZ2VuY3kuIE1hc3NhY2h1c2V0dHMsIFVTQSAoRmxvb2QgSGF6YXJkcywgMjAxMikuIFVuaXRlZCBTdGF0ZXMuIEZlZGVyYWwgRW1lcmdlbmN5IE1hbmFnZW1lbnQgQWdlbmN5LiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfVVNfTUFfQzMyRkxPT0RIQVpBUkRTXzIwMTIiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJVbml0ZWQgU3RhdGVzLiBGZWRlcmFsIEVtZXJnZW5jeSBNYW5hZ2VtZW50IEFnZW5jeSIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAxMi0wOC0xNiJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDEyLTA4LTE2In0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTIifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IlVTX01BX0MzMkZMT09ESEFaQVJEU18yMDEyIiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxpbmtzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfTUFfQzMyRkxPT0RIQVpBUkRTXzIwMTIuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX0MzMkZMT09ESEFaQVJEU18yMDEyLm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9yZXN0cmljdGVkL1NERV9EQVRBX1VTX01BX0MzMkZMT09ESEFaQVJEU18yMDEyLnppcCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJEYXRhIFppcGZpbGUifV0sImxvY2F0aW9ucyI6W3sia2luZCI6IkJvdW5kaW5nIEJveCIsImdlb3NoYXBlIjoiQkJPWCAoLTcyLjMxNTg3OSwgLTcwLjQ0MzQ3NCwgNDIuODg2ODE4LCA0MS4yNDkyNjcpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC03Mi4zMTU4NzksIC03MC40NDM0NzQsIDQyLjg4NjgxOCwgNDEuMjQ5MjY3KSJ9XSwicHVibGljYXRpb25faW5mb3JtYXRpb24iOlsiVW5pdGVkIFN0YXRlcy4gRmVkZXJhbCBFbWVyZ2VuY3kgTWFuYWdlbWVudCBBZ2VuY3kiLCJHSVMgTGFiLCBNSVQgTGlicmFyaWVzIl0sInJpZ2h0cyI6W3siZGVzY3JpcHRpb24iOiJSZXN0cmljdGVkIiwia2luZCI6IkFjY2VzcyJ9LHsiZGVzY3JpcHRpb24iOiJObyB3YXJyYW50eSBleHByZXNzZWQgb3IgaW1wbGllZCBpcyBtYWRlIGJ5IEZFTUEgcmVnYXJkaW5nIHRoZSB1dGlsaXR5IG9mIHRoZSBkYXRhIG9uIGFueSBvdGhlciBzeXN0ZW0gbm9yIHNoYWxsIHRoZSBhY3Qgb2YgZGlzdHJpYnV0aW9uIGNvbnN0aXR1dGUgYW55IHN1Y2ggd2FycmFudHkuIEZFTUEgd2lsbCB3YXJyYW50IHRoZSBkZWxpdmVyeSBvZiB0aGlzIHByb2R1Y3QgaW4gYSBjb21wdXRlci1yZWFkYWJsZSBmb3JtYXQsIGFuZCB3aWxsIG9mZmVyIGFwcHJvcHJpYXRlIGFkanVzdG1lbnQgb2YgY3JlZGl0IHdoZW4gdGhlIHByb2R1Y3QgaXMgZGV0ZXJtaW5lZCB1bnJlYWRhYmxlIGJ5IGNvcnJlY3RseSBhZGp1c3RlZCBjb21wdXRlciBpbnB1dCBwZXJpcGhlcmFscywgb3Igd2hlbiB0aGUgcGh5c2ljYWwgbWVkaXVtIGlzIGRlbGl2ZXJlZCBpbiBkYW1hZ2VkIGNvbmRpdGlvbi4gUmVxdWVzdHMgZm9yIGFkanVzdG1lbnQgb2YgY3JlZGl0IG11c3QgYmUgbWFkZSB3aXRoaW4gOTAgZGF5cyBmcm9tIHRoZSBkYXRlIG9mIHRoaXMgc2hpcG1lbnQgZnJvbSB0aGUgb3JkZXJpbmcgc2l0ZS4ifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJFbnZpcm9ubWVudCJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIlN0cnVjdHVyZSJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIkVsZXZhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIlRyYW5zcG9ydGF0aW9uIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiTWFzc2FjaHVzZXR0cyJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbImVudmlyb25tZW50Il0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsic3RydWN0dXJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiaHlkcm9sb2d5Il0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiZWxldmF0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiaW5sYW5kV2F0ZXJzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsidHJhbnNwb3J0YXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJGbG9vZCBpbnN1cmFuY2UtLVJhdGVzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRmxvb2QgZGFtYWdlIHByZXZlbnRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJGbG9vZCBjb250cm9sLS1QbGFubmluZyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIlN0b3JtIHN1cmdlcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkdULXBvbHlnb24gY29tcG9zZWQgb2YgY2hhaW5zIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiVGhlIE5hdGlvbmFsIEZsb29kIEhhemFyZCBMYXllciAoTkZITCkgZGF0YSBpbmNvcnBvcmF0ZXMgYWxsIERpZ2l0YWwgRmxvb2QgSW5zdXJhbmNlIFJhdGUgTWFwKERGSVJNKSBkYXRhYmFzZXMgcHVibGlzaGVkIGJ5IEZFTUEsIGFuZCBhbnkgTGV0dGVycyBPZiBNYXAgUmV2aXNpb24gKExPTVJzKSB0aGF0IGhhdmUgYmVlbiBpc3N1ZWQgYWdhaW5zdCB0aG9zZSBkYXRhYmFzZXMgc2luY2UgdGhlaXIgcHVibGljYXRpb24gZGF0ZS4gVGhlIERGSVJNIERhdGFiYXNlIGlzIHRoZSBkaWdpdGFsLCBnZW9zcGF0aWFsIHZlcnNpb24gb2YgdGhlIGZsb29kIGhhemFyZCBpbmZvcm1hdGlvbiBzaG93biBvbiB0aGUgcHVibGlzaGVkIHBhcGVyIEZsb29kIEluc3VyYW5jZSBSYXRlIE1hcHMoRklSTXMpLiBUaGUgcHJpbWFyeSByaXNrIGNsYXNzaWZpY2F0aW9ucyB1c2VkIGFyZSB0aGUgMS1wZXJjZW50LWFubnVhbC1jaGFuY2UgZmxvb2QgZXZlbnQsIHRoZSAwLjItcGVyY2VudC1hbm51YWwtY2hhbmNlIGZsb29kIGV2ZW50LCBhbmQgYXJlYXMgb2YgbWluaW1hbCBmbG9vZCByaXNrLiBUaGUgTkZITCBkYXRhIGFyZSBkZXJpdmVkIGZyb20gRmxvb2QgSW5zdXJhbmNlIFN0dWRpZXMgKEZJU3MpLCBwcmV2aW91c2x5IHB1Ymxpc2hlZCBGbG9vZCBJbnN1cmFuY2UgUmF0ZSBNYXBzIChGSVJNcyksIGZsb29kIGhhemFyZCBhbmFseXNlcyBwZXJmb3JtZWQgaW4gc3VwcG9ydCBvZiB0aGUgRklTcyBhbmQgRklSTXMsIGFuZCBuZXcgbWFwcGluZyBkYXRhIHdoZXJlIGF2YWlsYWJsZS4gVGhlIEZJU3MgYW5kIEZJUk1zIGFyZSBwdWJsaXNoZWQgYnkgdGhlIEZlZGVyYWwgRW1lcmdlbmN5IE1hbmFnZW1lbnQgQWdlbmN5IChGRU1BKS4gVGhlIHNwZWNpZmljYXRpb25zIGZvciB0aGUgaG9yaXpvbnRhbCBjb250cm9sIG9mIERGSVJNIGRhdGEgYXJlIGNvbnNpc3RlbnQgd2l0aCB0aG9zZSByZXF1aXJlZCBmb3IgbWFwcGluZyBhdCBhIHNjYWxlIG9mIDE6MTIsMDAwLiBUaGUgTkZITCBkYXRhIGNvbnRhaW4gbGF5ZXJzIGluIHRoZSBTdGFuZGFyZCBERklSTSBkYXRhc2V0cyBleGNlcHQgZm9yIFNfTGFiZWxfUHQgYW5kIFNfTGFiZWxfTGQuIFRoZSBORkhMIGlzIGF2YWlsYWJsZSBhcyBTdGF0ZSBvciBVUyBUZXJyaXRvcnkgZGF0YSBzZXRzLiBFYWNoIFN0YXRlIG9yIFRlcnJpdG9yeSBkYXRhIHNldCBjb25zaXN0cyBvZiBhbGwgREZJUk1zIGFuZCBjb3JyZXNwb25kaW5nIExPTVJzIGF2YWlsYWJsZSBvbiB0aGUgcHVibGljYXRpb24gZGF0ZSBvZiB0aGUgZGF0YSBzZXQuIl19LCJzb3J0IjpbMS4wLDEzNDUwNzUyMDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX04yREFNU18yMDEyIiwiX3Njb3JlIjoxLjAsIl9zb3VyY2UiOnsic291cmNlIjoiTUlUIEdJUyBSZXNvdXJjZXMiLCJzb3VyY2VfbGluayI6Imh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfVVNfTUFfTjJEQU1TXzIwMTIiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX04yREFNU18yMDEyIiwidGl0bGUiOiJNYXNzYWNodXNldHRzIChEYW1zLCAyMDEyKSIsImNpdGF0aW9uIjoiTWFzc2FjaHVzZXR0cy4gRGVwYXJ0bWVudCBvZiBDb25zZXJ2YXRpb24uIE1hc3NhY2h1c2V0dHMgKERhbXMsIDIwMTIpLiBNYXNzR0lTIChPZmZpY2UgOiBNYXNzLikuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19NQV9OMkRBTVNfMjAxMiIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6Ik1hc3NhY2h1c2V0dHMuIERlcGFydG1lbnQgb2YgQ29uc2VydmF0aW9uIiwia2luZCI6IkNyZWF0b3IifV0sImRhdGVzIjpbeyJraW5kIjoiSXNzdWVkIiwidmFsdWUiOiIyMDEyLTAyLTAzIn1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJVU19NQV9OMkRBTVNfMjAxMiIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn1dLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX04yREFNU18yMDEyLnNvdXJjZS5mZ2RjLnhtbCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJTb3VyY2UgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9OMkRBTVNfMjAxMi5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX04yREFNU18yMDEyLnppcCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJEYXRhIFppcGZpbGUifV0sImxvY2F0aW9ucyI6W3sia2luZCI6IkJvdW5kaW5nIEJveCIsImdlb3NoYXBlIjoiQkJPWCAoLTczLjQ5NTA5MywgLTY5Ljk3MzIxNiwgNDIuODY2ODMyLCA0MS4zMzg1MTgpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC03My40OTUwOTMsIC02OS45NzMyMTYsIDQyLjg2NjgzMiwgNDEuMzM4NTE4KSJ9XSwicHVibGljYXRpb25faW5mb3JtYXRpb24iOlsiTWFzc0dJUyAoT2ZmaWNlIDogTWFzcy4pIiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUHVibGljIiwia2luZCI6IkFjY2VzcyJ9XSwic3ViamVjdHMiOlt7InZhbHVlIjpbIkVjb25vbXkiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJFbnZpcm9ubWVudCJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIlN0cnVjdHVyZSJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJEYW1zIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiZWNvbm9teSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImVudmlyb25tZW50Il0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiaW5sYW5kV2F0ZXJzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsic3RydWN0dXJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRW50aXR5IHBvaW50Il0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiVGhlIE9EUyBtYWludGFpbnMgYSBkYXRhYmFzZSB0aGF0IGluY2x1ZGVzIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IGVhY2ggZGFtIGZvciBvcGVyYXRpb25hbCBwdXJwb3Nlcy4gTW9zdCBvZiB0aGUgbG9jYXRpb24gaW5mb3JtYXRpb24gd2FzIGRlcml2ZWQgZnJvbSBoaXN0b3JpYyBkYXRhIGFuZCBoYXMgYmVlbiBncm91bmQtdHJ1dGhlZCBhZ2FpbnN0IGluc3BlY3Rpb24gYW5kIG93bmVyc2hpcCByZXBvcnRzIHRoYXQgYXJlIG1haW50YWluZWQgYnkgdGhlIE9EUy4gVGhlIGxvY2F0aW9ucyBvZiBzb21lIGRhbXMgaGF2ZSBub3QgYmVlbiBjb25maXJtZWQuIFRoZXNlIGFyZSBwZW5kaW5nIHZlcmlmaWNhdGlvbiBhbmQgY2FuIGJlIGlkZW50aWZpZWQgdGhyb3VnaCB0aGUgZmllbGQgJ0xvY1N0YXR1cy7igJlEYW1zIHJlZ3VsYXRlZCBieSB0aGUgT0RTIGluIGFjY29yZGFuY2Ugd2l0aCByZWd1bGF0aW9uIENNUiAzMDIgMTAuMDAgYXJlIGxpc3RlZCBhcyDigJhPZmZpY2Ugb2YgRGFtIFNhZmV0eeKAmSBpbiB0aGUgZmllbGQg4oCYUmVnQXV0aOKAmS5QbGVhc2UgcmVwb3J0IGFueSBkYXRhIGVycm9ycyBvciBpbmNvbnNpc3RlbmNpZXMgdG8gdGhlIE9mZmljZSBvZiBEYW0gU2FmZXR5IChkYW0uc2FmZXR5QHN0YXRlLm1hLnVzKSBvciBEQ1ItR0lTIChjaGFuZHJleWVlLmxhaGlyaUBzdGF0ZS5tYS51cykiXX0sInNvcnQiOlsxLjAsMTMyODIyNzIwMDAwMF19LHsiX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6VVNfTUFfQk9TVE9OX0c0NkJMREdTXzIwMTIiLCJfc2NvcmUiOjEuMCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpVU19NQV9CT1NUT05fRzQ2QkxER1NfMjAxMiIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6VVNfTUFfQk9TVE9OX0c0NkJMREdTXzIwMTIiLCJ0aXRsZSI6InVzX21hX2Jvc3Rvbl9nNDZibGRnc18yMDEyIiwiY2l0YXRpb24iOiJCb3N0b24gKE1hc3MuKS4gRGVwdC4gb2YgSW5ub3ZhdGlvbiBhbmQgVGVjaG5vbG9neS4gdXNfbWFfYm9zdG9uX2c0NmJsZGdzXzIwMTIuIEJvc3RvbiBEZXBhcnRtZW50IG9mIElubm92YXRpb24gYW5kIFRlY2hub2xvZ3kgKERvSVQpLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6VVNfTUFfQk9TVE9OX0c0NkJMREdTXzIwMTIiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJCb3N0b24gKE1hc3MuKS4gRGVwdC4gb2YgSW5ub3ZhdGlvbiBhbmQgVGVjaG5vbG9neS4iLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMTItMDEtMTkifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxMi0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDEyIn1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJ1c19tYV9ib3N0b25fZzQ2YmxkZ3NfMjAxMiIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn1dLCJsYW5ndWFnZXMiOlsiZW5nIl0sImxpbmtzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvVVNfTUFfQk9TVE9OX0c0NkJMREdTXzIwMTIuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1VTX01BX0JPU1RPTl9HNDZCTERHU18yMDEyLm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvVVNfTUFfQk9TVE9OX0c0NkJMREdTXzIwMTIuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTg2MTEwLCAtNzAuOTI0ODEwLCA0Mi4zOTg3MzYsIDQyLjIyOTI3MSkifSx7ImtpbmQiOiJHZW9tZXRyeSIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjE4NjExMCwgLTcwLjkyNDgxMCwgNDIuMzk4NzM2LCA0Mi4yMjkyNzEpIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJCb3N0b24gRGVwYXJ0bWVudCBvZiBJbm5vdmF0aW9uIGFuZCBUZWNobm9sb2d5IChEb0lUKSIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlB1YmxpYyIsImtpbmQiOiJBY2Nlc3MifSx7ImRlc2NyaXB0aW9uIjoiRm9yIGVkdWNhdGlvbmFsIG5vbmNvbW1lcmNpYWwgdXNlIG9ubHkuIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiU3RydWN0dXJlIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiQm9zdG9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiTWFzc2FjaHVzZXR0cyJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIlN1ZmZvbGsiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJOZXcgRW5nbGFuZCJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIlVTIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiTUEiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJFYXN0ZXJuIE1hc3NhY2h1c2V0dHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJOb3J0aGVybiBIZW1pc3BoZXJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiV2VzdGVybiBIZW1pc3BoZXJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiVW5pdGVkIFN0YXRlcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbInBvbHlnb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJzdHJ1Y3R1cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJCdWlsZGluZ3MiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJEYXRhc2V0cyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn0seyJ2YWx1ZSI6WyJHLXBvbHlnb24iXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9XSwic3VtbWFyeSI6WyJUaGlzIHBvbHlnb24gbGF5ZXIgcmVwcmVzZW50cyBidWlsZGluZyBmb290cHJpbnRzIGluIEJvc3RvbiwgTUEiXX0sInNvcnQiOlsxLjAsMTMyNjkzMTIwMDAwMF19LHsiX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfVVNfTUFfQk9TVE9OX0c0N1BBUkNFTFNfMjAxMiIsIl9zY29yZSI6MS4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTIiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTIiLCJ0aXRsZSI6IkJvc3RvbiwgTUEgKExhbmQgUGFyY2VscywgMjAxMikiLCJjaXRhdGlvbiI6IkJvc3RvbiAoTWFzcy4pIEFzc2Vzc2luZyBEZXBhcnRtZW50LiBCb3N0b24sIE1BIChMYW5kIFBhcmNlbHMsIDIwMTIpLiBDaXR5IG9mIEJvc3RvbiBBc3Nlc3NpbmcgRGVwYXJ0bWVudC4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTIiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJCb3N0b24gKE1hc3MuKSBBc3Nlc3NpbmcgRGVwYXJ0bWVudCIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAxMi0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDEyLTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTIifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IlVTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTIiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDEyLnNvdXJjZS5mZ2RjLnhtbCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJTb3VyY2UgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDEyLm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9yZXN0cmljdGVkL1NERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTIuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTkxMTgyLCAtNzAuOTIyNjM3LCA0Mi4zOTc1NjQsIDQyLjIyNzAwNSkifSx7ImtpbmQiOiJHZW9tZXRyeSIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjE5MTE4MiwgLTcwLjkyMjYzNywgNDIuMzk3NTY0LCA0Mi4yMjcwMDUpIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJDaXR5IG9mIEJvc3RvbiBBc3Nlc3NpbmcgRGVwYXJ0bWVudCIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlJlc3RyaWN0ZWQiLCJraW5kIjoiQWNjZXNzIn0seyJkZXNjcmlwdGlvbiI6Ik4vQSJ9XSwic3ViamVjdHMiOlt7InZhbHVlIjpbIkJvdW5kYXJpZXMiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJMb2NhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMtLUJvc3RvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIkxhbmQgdXNlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiQWRtaW5pc3RyYXRpdmUgYW5kIHBvbGl0aWNhbCBkaXZpc2lvbnMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJMYW5kIHZhbHVlIHRheGF0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiTGFuZCB0ZW51cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJOZWlnaGJvcmhvb2RzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiYm91bmRhcmllcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImxvY2F0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsicGxhbm5pbmdDYWRhc3RyZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkdULXBvbHlnb24gY29tcG9zZWQgb2YgY2hhaW5zIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiQ2l0eSBvZiBCb3N0b24gcHJvcGVydHkgcGFyY2VsIGRhdGEgZnJvbSBGWSAyMDEyIHdhcyBqb2luZWQgd2l0aCBwYXJjZWwgYm91bmRhcmllcyBmcm9tIEZZIDIwMTIuIEFsbCBkYXRhIGlzIGZyb20gdGhlIENpdHkgb2YgQm9zdG9uIEFzc2Vzc29yJ3Mgb2ZmaWNlIGFuZCByZXByZXNlbnRzIGRhdGEgZnJvbSAyMDExLiJdfSwic29ydCI6WzEuMCwxMzI1Mzc2MDAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpHSVNQT1JUQUxfR0lTT1dORVIwMV9DQU1CUklER0VOSE9PRENPTlNWRElTVDA3IiwiX3Njb3JlIjoxLjAsIl9zb3VyY2UiOnsic291cmNlIjoiTUlUIEdJUyBSZXNvdXJjZXMiLCJzb3VyY2VfbGluayI6Imh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6R0lTUE9SVEFMX0dJU09XTkVSMDFfQ0FNQlJJREdFTkhPT0RDT05TVkRJU1QwNyIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6R0lTUE9SVEFMX0dJU09XTkVSMDFfQ0FNQlJJREdFTkhPT0RDT05TVkRJU1QwNyIsInRpdGxlIjoiTmVpZ2hib3Job29kIENvbnNlcnZhdGlvbiBEaXN0cmljdHMgQ2FtYnJpZGdlIE1BIDIwMDciLCJjaXRhdGlvbiI6IkNhbWJyaWRnZSAoTWFzcy4pLiBHZW9ncmFwaGljIEluZm9ybWF0aW9uIFN5c3RlbXMuIE5laWdoYm9yaG9vZCBDb25zZXJ2YXRpb24gRGlzdHJpY3RzIENhbWJyaWRnZSBNQSAyMDA3LiBHSVMgTGFiLCBNSVQgTGlicmFyaWVzLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6R0lTUE9SVEFMX0dJU09XTkVSMDFfQ0FNQlJJREdFTkhPT0RDT05TVkRJU1QwNyIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6IkNhbWJyaWRnZSAoTWFzcy4pLiBHZW9ncmFwaGljIEluZm9ybWF0aW9uIFN5c3RlbXMiLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMTEtMDctMjAifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IkNhbWJyaWRnZU5ob29kQ29uc3ZEaXN0MDciLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL0dJU1BPUlRBTF9HSVNPV05FUjAxX0NBTUJSSURHRU5IT09EQ09OU1ZESVNUMDcuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL0dJU1BPUlRBTF9HSVNPV05FUjAxX0NBTUJSSURHRU5IT09EQ09OU1ZESVNUMDcubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9HSVNQT1JUQUxfR0lTT1dORVIwMV9DQU1CUklER0VOSE9PRENPTlNWRElTVDA3LnppcCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJEYXRhIFppcGZpbGUifV0sImxvY2F0aW9ucyI6W3sia2luZCI6IkJvdW5kaW5nIEJveCIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjEzNDA1MCwgLTcxLjA5OTI2OCwgNDIuMzg4MTU2LCA0Mi4zNjY3MzQpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC03MS4xMzQwNTAsIC03MS4wOTkyNjgsIDQyLjM4ODE1NiwgNDIuMzY2NzM0KSJ9XSwicHVibGljYXRpb25faW5mb3JtYXRpb24iOlsiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUHVibGljIiwia2luZCI6IkFjY2VzcyJ9LHsiZGVzY3JpcHRpb24iOiJGb3IgZWR1Y2F0aW9uYWwgbm9uY29tbWVyY2lhbCB1c2Ugb25seS4ifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJCb3VuZGFyaWVzIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiU29jaWV0eSJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIlN0cnVjdHVyZSJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMtLUNhbWJyaWRnZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIkhpc3RvcmljIGRpc3RyaWN0cy0tQ29uc2VydmF0aW9uIGFuZCByZXN0b3JhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImJvdW5kYXJpZXMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJzb2NpZXR5Il0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsic3RydWN0dXJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRy1wb2x5Z29uIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiVGhpcyBkYXRhc2V0IGNvbnRhaW5zIGZpdmUgcG9seWdvbnMgcmVwcmVzZW50aW5nIE5laWdoYm9yaG9vZCBDb25zZXJ2YXRpb24gRGlzdHJpY3RzIChOQ0RzKSBpbiBDYW1icmlkZ2UsIE1BLiBDb25zZXJ2YXRpb24gZGlzdHJpY3RzIGFyZSBncm91cHMgb2YgYnVpbGRpbmdzIGFuZCB0aGVpciBzdXJyb3VuZGluZ3MgdGhhdCBhcmUgYXJjaGl0ZWN0dXJhbGx5IGFuZCBoaXN0b3JpY2FsbHkgZGlzdGluY3RpdmUuIl19LCJzb3J0IjpbMS4wLDEzMTExMjAwMDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX1AyTUFKUkRTXzIwMDUiLCJfc2NvcmUiOjEuMCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19QMk1BSlJEU18yMDA1IiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19QMk1BSlJEU18yMDA1IiwidGl0bGUiOiJVU0EgKE1ham9yIFJvYWRzLCAyMDA1KSIsImNpdGF0aW9uIjoiVGVsZSBBdGxhcyBOb3J0aCBBbWVyaWNhLCBJbmMuL0dlb2dyYXBoaWMgRGF0YSBUZWNobm9sb2d5LCBJbmMuLCBFU1JJLiBVU0EgKE1ham9yIFJvYWRzLCAyMDA1KS4gRW52aXJvbm1lbnRhbCBTeXN0ZW1zIFJlc2VhcmNoIEluc3RpdHV0ZSAoRVNSSSkuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19QMk1BSlJEU18yMDA1IiwiY29udGVudF90eXBlIjpbIkdlb3NwYXRpYWwgZGF0YSJdLCJjb250cmlidXRvcnMiOlt7InZhbHVlIjoiVGVsZSBBdGxhcyBOb3J0aCBBbWVyaWNhLCBJbmMuL0dlb2dyYXBoaWMgRGF0YSBUZWNobm9sb2d5LCBJbmMuIiwia2luZCI6IkNyZWF0b3IifSx7InZhbHVlIjoiRVNSSSIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAwNS0wNC0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDA0LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDUtMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxMS0wNC0yMCJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDAxLTA1LTIwIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDQifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwNSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDExIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDEifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IlNERV9EQVRBLlVTX1AyTUFKUkRTXzIwMDUiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9LHsidmFsdWUiOiJVU19QMk1BSlJEU18yMDA1Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19QMk1BSlJEU18yMDA1LnNvdXJjZS5mZ2RjLnhtbCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJTb3VyY2UgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19QMk1BSlJEU18yMDA1Lm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9yZXN0cmljdGVkL1NERV9EQVRBX1VTX1AyTUFKUkRTXzIwMDUuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTY2LjU1NjQ5OCwgLTY1LjI1OTU5MCwgNzEuMzA2ODgwLCAxNy45NDkyMDEpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xNjYuNTU2NDk4LCAtNjUuMjU5NTkwLCA3MS4zMDY4ODAsIDE3Ljk0OTIwMSkifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKEVTUkkpIiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIlVuaXRlZCBTdGF0ZXMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIlN0cmluZyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIlUuUy4gTWFqb3IgUm9hZHMgcmVwcmVzZW50cyBpbnRlcnN0YXRlLCBVLlMuIGFuZCBzdGF0ZSBoaWdod2F5cywgbWFqb3Igc3RyZWV0cywgYW5kIG90aGVyIG1ham9yIHRob3JvdWdoZmFyZXMgd2l0aGluIHRoZSBVbml0ZWQgU3RhdGVzLiJdfSwic29ydCI6WzEuMCwxMzAzMjU3NjAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9VU19QMVRSQU5TVEVSTVNfMjAwNSIsIl9zY29yZSI6MS4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX1AxVFJBTlNURVJNU18yMDA1IiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19QMVRSQU5TVEVSTVNfMjAwNSIsInRpdGxlIjoiVVNBIChUcmFuc3BvcnRhdGlvbiBUZXJtaW5hbHMsIDIwMDUpIiwiY2l0YXRpb24iOiJUZWxlIEF0bGFzIE5vcnRoIEFtZXJpY2EsIEluYy4vR2VvZ3JhcGhpYyBEYXRhIFRlY2hub2xvZ3ksIEluYy4sIEVTUkkuIFVTQSAoVHJhbnNwb3J0YXRpb24gVGVybWluYWxzLCAyMDA1KS4gRW52aXJvbm1lbnRhbCBTeXN0ZW1zIFJlc2VhcmNoIEluc3RpdHV0ZSAoRVNSSSkuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19QMVRSQU5TVEVSTVNfMjAwNSIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6IlRlbGUgQXRsYXMgTm9ydGggQW1lcmljYSwgSW5jLi9HZW9ncmFwaGljIERhdGEgVGVjaG5vbG9neSwgSW5jLiIsImtpbmQiOiJDcmVhdG9yIn0seyJ2YWx1ZSI6IkVTUkkiLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMDUtMDQtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwNC0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDA1LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTEtMDQtMjAifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwMS0wNS0yMCJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDA0In0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDUifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDAxIn1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJTREVfREFUQS5VU19QMVRSQU5TVEVSTVNfMjAwNSIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn0seyJ2YWx1ZSI6IlVTX1AxVFJBTlNURVJNU18yMDA1Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19QMVRSQU5TVEVSTVNfMjAwNS5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfUDFUUkFOU1RFUk1TXzIwMDUubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvU0RFX0RBVEFfVVNfUDFUUkFOU1RFUk1TXzIwMDUuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTY2LjQ5ODY5MiwgLTY1LjMwMjE0MywgNjEuMTIyMzc4LCAxOC4xNTIxOTMpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xNjYuNDk4NjkyLCAtNjUuMzAyMTQzLCA2MS4xMjIzNzgsIDE4LjE1MjE5MykifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKEVTUkkpIiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIlVuaXRlZCBTdGF0ZXMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkVudGl0eSBwb2ludCJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIlUuUy4gVEFOQS9HRFQgVHJhbnNwb3J0YXRpb24gVGVybWluYWxzIHJlcHJlc2VudHMgbG9jYXRpb25zIHdpdGhpbiBVbml0ZWQgU3RhdGVzIGZvciB0cmFuc3BvcnRhdGlvbiB0ZXJtaW5hbHMgc3VjaCBhcyBidXMgdGVybWluYWxzLCB0cmFpbiBzdGF0aW9ucywgbWFyaW5lIHRlcm1pbmFscywgYW5kIG90aGVyIHNpZ25pZmljYW50IHRyYW5zcG9ydGF0aW9uIG5vZGVzLiJdfSwic29ydCI6WzEuMCwxMzAzMjU3NjAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9DQV9GN1JFR05NVU5JXzIwMDUiLCJfc2NvcmUiOjEuMCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9DQV9GN1JFR05NVU5JXzIwMDUiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX0NBX0Y3UkVHTk1VTklfMjAwNSIsInRpdGxlIjoiQ2FuYWRhIChSZWdpb25hbCBNdW5pY2lwYWxpdGllcywgMjAwNSkiLCJjaXRhdGlvbiI6IkRNVEkgU3BhdGlhbCBJbmMuLCBFbnZpcm9ubWVudGFsIFN5c3RlbXMgUmVzZWFyY2ggSW5zdGl0dXRlIChSZWRsYW5kcywgQ2FsaWYuKS4gQ2FuYWRhIChSZWdpb25hbCBNdW5pY2lwYWxpdGllcywgMjAwNSkuIEVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKFJlZGxhbmRzLCBDYWxpZi4pLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfQ0FfRjdSRUdOTVVOSV8yMDA1IiwiY29udGVudF90eXBlIjpbIkdlb3NwYXRpYWwgZGF0YSJdLCJjb250cmlidXRvcnMiOlt7InZhbHVlIjoiRE1USSBTcGF0aWFsIEluYy4iLCJraW5kIjoiQ3JlYXRvciJ9LHsidmFsdWUiOiJFbnZpcm9ubWVudGFsIFN5c3RlbXMgUmVzZWFyY2ggSW5zdGl0dXRlIChSZWRsYW5kcywgQ2FsaWYuKSIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAwNS0wNC0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDA0LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDEtMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxMS0wNC0yMCJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDA0In0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxMSJ9XSwiZm9ybWF0IjoiVmVjdG9yIiwiaWRlbnRpZmllcnMiOlt7InZhbHVlIjoiU0RFX0RBVEEuQ0FfRjdSRUdOTVVOSV8yMDA1Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifSx7InZhbHVlIjoiQ0FfRjdSRUdOTVVOSV8yMDA1Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9DQV9GN1JFR05NVU5JXzIwMDUuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX0NBX0Y3UkVHTk1VTklfMjAwNS5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcmVzdHJpY3RlZC9TREVfREFUQV9DQV9GN1JFR05NVU5JXzIwMDUuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTQxLjAwMTg3MCwgLTUyLjYxOTE3MCwgODMuMTE1MDYzLCA0MS42ODc5NzMpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xNDEuMDAxODcwLCAtNTIuNjE5MTcwLCA4My4xMTUwNjMsIDQxLjY4Nzk3MykifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKFJlZGxhbmRzLCBDYWxpZi4pIiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJCb3VuZGFyaWVzIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiQ2FuYWRhIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiQWRtaW5pc3RyYXRpdmUgYW5kIHBvbGl0aWNhbCBkaXZpc2lvbnMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJDaXRpZXMgYW5kIHRvd25zIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiYm91bmRhcmllcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkctcG9seWdvbiJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIkNhbmFkYSBSZWdpb25hbCBNdW5pY2lwYWxpdGllcyByZXByZXNlbnRzIHRoZSByZWdpb25hbCBtdW5pY2lwYWxpdGllcyAoY291bnRpZXMpIHdpdGhpbiBDYW5hZGEgaW5jbHVkaW5nIHJlZ2lvbmFsIGRpc3RyaWN0cyBhbmQgbXVuaWNpcGFsaXRpZXMsIGNvdW50aWVzLCBjb21tdW5hdXTDqSwgcmVnaW9ucywgYW5kIGRpc3RyaWN0cy4gVGhlIGJvdW5kYXJpZXMgYXJlIGRpZ2l0aXplZCBmcm9tIENhbk1hcMKuLiJdfSwic29ydCI6WzEuMCwxMzAzMjU3NjAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9DQV9GN01VTklfMjAwNSIsIl9zY29yZSI6MS4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX0NBX0Y3TVVOSV8yMDA1IiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9DQV9GN01VTklfMjAwNSIsInRpdGxlIjoiQ2FuYWRhIChNdW5pY2lwYWxpdGllcywgMjAwNSkiLCJjaXRhdGlvbiI6IkRNVEkgU3BhdGlhbCBJbmMuLCBFbnZpcm9ubWVudGFsIFN5c3RlbXMgUmVzZWFyY2ggSW5zdGl0dXRlIChSZWRsYW5kcywgQ2FsaWYuKS4gQ2FuYWRhIChNdW5pY2lwYWxpdGllcywgMjAwNSkuIEVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKFJlZGxhbmRzLCBDYWxpZi4pLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfQ0FfRjdNVU5JXzIwMDUiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJETVRJIFNwYXRpYWwgSW5jLiIsImtpbmQiOiJDcmVhdG9yIn0seyJ2YWx1ZSI6IkVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKFJlZGxhbmRzLCBDYWxpZi4pIiwia2luZCI6IkNyZWF0b3IifV0sImRhdGVzIjpbeyJraW5kIjoiSXNzdWVkIiwidmFsdWUiOiIyMDA1LTA0LTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDQtMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwMS0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDExLTA0LTIwIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDQifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDExIn1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJTREVfREFUQS5DQV9GN01VTklfMjAwNSIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn0seyJ2YWx1ZSI6IkNBX0Y3TVVOSV8yMDA1Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9DQV9GN01VTklfMjAwNS5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfQ0FfRjdNVU5JXzIwMDUubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvU0RFX0RBVEFfQ0FfRjdNVU5JXzIwMDUuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTQxLjAwMTg3MCwgLTUyLjYxOTE3MywgODMuMTE1MDYzLCA0MS42ODc5NzMpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xNDEuMDAxODcwLCAtNTIuNjE5MTczLCA4My4xMTUwNjMsIDQxLjY4Nzk3MykifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKFJlZGxhbmRzLCBDYWxpZi4pIiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJCb3VuZGFyaWVzIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiQ2FuYWRhIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiQ2l0aWVzIGFuZCB0b3ducyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIlZpbGxhZ2VzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiUGFyaXNoZXMgKExvY2FsIGdvdmVybm1lbnQpIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiQWRtaW5pc3RyYXRpdmUgYW5kIHBvbGl0aWNhbCBkaXZpc2lvbnMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJJbnVpdC0tTGFuZCB0ZW51cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJib3VuZGFyaWVzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRy1wb2x5Z29uIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiQ2FuYWRhIE11bmljaXBhbGl0aWVzIHJlcHJlc2VudHMgdGhlIG11bmljaXBhbGl0aWVzICh0b3duc2hpcHMpIHdpdGhpbiBDYW5hZGEgb2YgdHlwZXMgaW5jbHVkaW5nIGNpdGllcywgY2FudG9ucywgaGFtbGV0cywgdG93bnMvdmlsbGUsIHZpbGxhZ2VzLCBJbmRpYW4gcmVzZXJ2ZXMsIHBhcmlzaGVzL3Bhcm9pc3NlLCBjb21tdW5pdGllcywgdW5vcmdhbml6ZWQsIGRpc3RyaWN0cywgYW5kIHRlcnJlIEludWl0ZS4gVGhlIGJvdW5kYXJpZXMgYXJlIGRpZ2l0aXplZCBmcm9tIENhbk1hcMKuLiJdfSwic29ydCI6WzEuMCwxMzAzMjU3NjAwMDAwXX1dfSwiYWdncmVnYXRpb25zIjp7Imxhbmd1YWdlcyI6eyJkb2NfY291bnRfZXJyb3JfdXBwZXJfYm91bmQiOjAsInN1bV9vdGhlcl9kb2NfY291bnQiOjAsImJ1Y2tldHMiOlt7ImtleSI6ImVuZyIsImRvY19jb3VudCI6ODA4fV19LCJjb250ZW50X3R5cGUiOnsiZG9jX2NvdW50X2Vycm9yX3VwcGVyX2JvdW5kIjowLCJzdW1fb3RoZXJfZG9jX2NvdW50IjowLCJidWNrZXRzIjpbeyJrZXkiOiJnZW9zcGF0aWFsIGRhdGEiLCJkb2NfY291bnQiOjgyNX1dfSwic3ViamVjdHMiOnsiZG9jX2NvdW50Ijo3NDQ3LCJzdWJqZWN0X25hbWVzIjp7ImRvY19jb3VudF9lcnJvcl91cHBlcl9ib3VuZCI6MCwic3VtX290aGVyX2RvY19jb3VudCI6NDE4MywiYnVja2V0cyI6W3sia2V5IjoiZGF0YXNldHMiLCJkb2NfY291bnQiOjgyNX0seyJrZXkiOiJnLXBvbHlnb24iLCJkb2NfY291bnQiOjQxNn0seyJrZXkiOiJib3VuZGFyaWVzIiwiZG9jX2NvdW50IjozNzZ9LHsia2V5IjoidHJhbnNwb3J0YXRpb24iLCJkb2NfY291bnQiOjM0OH0seyJrZXkiOiJ1bml0ZWQgc3RhdGVzIiwiZG9jX2NvdW50IjoyNzB9LHsia2V5IjoiZW50aXR5IHBvaW50IiwiZG9jX2NvdW50IjoyNTZ9LHsia2V5Ijoic29jaWV0eSIsImRvY19jb3VudCI6MjQ2fSx7ImtleSI6Im1hc3NhY2h1c2V0dHMtLWNhbWJyaWRnZSIsImRvY19jb3VudCI6MTk3fSx7ImtleSI6InN0cnVjdHVyZSIsImRvY19jb3VudCI6MTY2fSx7ImtleSI6ImxvY2F0aW9uIiwiZG9jX2NvdW50IjoxNjR9XX19LCJjb250ZW50X2Zvcm1hdCI6eyJkb2NfY291bnRfZXJyb3JfdXBwZXJfYm91bmQiOjAsInN1bV9vdGhlcl9kb2NfY291bnQiOjAsImJ1Y2tldHMiOlt7ImtleSI6InZlY3RvciIsImRvY19jb3VudCI6ODI0fSx7ImtleSI6InBvaW50IiwiZG9jX2NvdW50IjoxfV19LCJsaXRlcmFyeV9mb3JtIjp7ImRvY19jb3VudF9lcnJvcl91cHBlcl9ib3VuZCI6MCwic3VtX290aGVyX2RvY19jb3VudCI6MCwiYnVja2V0cyI6W119LCJzb3VyY2UiOnsiZG9jX2NvdW50X2Vycm9yX3VwcGVyX2JvdW5kIjowLCJzdW1fb3RoZXJfZG9jX2NvdW50IjowLCJidWNrZXRzIjpbeyJrZXkiOiJtaXQgZ2lzIHJlc291cmNlcyIsImRvY19jb3VudCI6ODI1fV19LCJjb250cmlidXRvcnMiOnsiZG9jX2NvdW50IjoxMDExLCJjb250cmlidXRvcl9uYW1lcyI6eyJkb2NfY291bnRfZXJyb3JfdXBwZXJfYm91bmQiOjAsInN1bV9vdGhlcl9kb2NfY291bnQiOjQyNywiYnVja2V0cyI6W3sia2V5IjoibWFzc2dpcyAob2ZmaWNlIDogbWFzcy4pIiwiZG9jX2NvdW50IjoxMzR9LHsia2V5IjoiZXNyaSIsImRvY19jb3VudCI6ODR9LHsia2V5IjoiY2l0eSBvZiBjYW1icmlkZ2UgZ2lzIiwiZG9jX2NvdW50Ijo4Mn0seyJrZXkiOiJwbGF0dHMiLCJkb2NfY291bnQiOjY0fSx7ImtleSI6ImVudmlyb25tZW50YWwgc3lzdGVtcyByZXNlYXJjaCBpbnN0aXR1dGUgKHJlZGxhbmRzLCBjYWxpZi4pIiwiZG9jX2NvdW50Ijo0OX0seyJrZXkiOiJlbnZpcm9ubWVudGFsIHN5c3RlbXMgcmVzZWFyY2ggaW5zdGl0dXRlLCBpbmMuIChlc3JpKSIsImRvY19jb3VudCI6NDR9LHsia2V5IjoiY2FtYnJpZGdlIChtYXNzLikuIGdlb2dyYXBoaWMgaW5mb3JtYXRpb24gc3lzdGVtcyIsImRvY19jb3VudCI6NDF9LHsia2V5IjoidGVsZSBhdGxhcyBiLnYuIiwiZG9jX2NvdW50IjozMn0seyJrZXkiOiJ1c2dzIiwiZG9jX2NvdW50IjoyOH0seyJrZXkiOiJjaXR5IG9mIG5ld3RvbiBnaXMiLCJkb2NfY291bnQiOjI2fV19fX19 + recorded_at: Wed, 14 Feb 2024 16:30:39 GMT +recorded_with: VCR 6.2.0 diff --git a/test/vcr_cassettes/graphqlv2_geobox_eastern_hemisphere.yml b/test/vcr_cassettes/graphqlv2_geobox_eastern_hemisphere.yml new file mode 100644 index 00000000..7681067a --- /dev/null +++ b/test/vcr_cassettes/graphqlv2_geobox_eastern_hemisphere.yml @@ -0,0 +1,448 @@ +--- +http_interactions: +- request: + method: get + uri: http://localhost:9200/ + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - 'opensearch-ruby/3.1.0 (RUBY_VERSION: 3.2.2; darwin arm64; Faraday v2.9.0)' + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=UTF-8 + Content-Length: + - '567' + body: + encoding: ASCII-8BIT + string: | + { + "name" : "57e0dc0fc53d", + "cluster_name" : "docker-cluster", + "cluster_uuid" : "DoZb5LNrT7eUN8gEh-aLJg", + "version" : { + "distribution" : "opensearch", + "number" : "2.11.1", + "build_type" : "tar", + "build_hash" : "6b1986e964d440be9137eba1413015c31c5a7752", + "build_date" : "2023-11-29T21:45:35.524809067Z", + "build_snapshot" : false, + "lucene_version" : "9.7.0", + "minimum_wire_compatibility_version" : "7.10.0", + "minimum_index_compatibility_version" : "7.0.0" + }, + "tagline" : "The OpenSearch Project: https://opensearch.org/" + } + recorded_at: Wed, 14 Feb 2024 16:37:53 GMT +- request: + method: post + uri: http://localhost:9200/timdex-prod/_search + body: + encoding: UTF-8 + string: '{"from":"0","size":20,"query":{"bool":{"should":null,"must":[{"bool":{"must":{"match_all":{}},"filter":{"geo_bounding_box":{"locations.geoshape":{"top":90.0,"bottom":-90.0,"left":0.0,"right":180.0}}}}}],"filter":[]}},"aggregations":{"contributors":{"nested":{"path":"contributors"},"aggs":{"contributor_names":{"terms":{"field":"contributors.value.keyword"}}}},"content_type":{"terms":{"field":"content_type"}},"content_format":{"terms":{"field":"format"}},"languages":{"terms":{"field":"languages.keyword"}},"literary_form":{"terms":{"field":"literary_form"}},"source":{"terms":{"field":"source"}},"subjects":{"nested":{"path":"subjects"},"aggs":{"subject_names":{"terms":{"field":"subjects.value.keyword"}}}}},"sort":[{"_score":{"order":"desc"}},{"dates.value.as_date":{"order":"desc","nested":{"path":"dates"}}}]}' + headers: + User-Agent: + - 'opensearch-ruby/3.1.0 (RUBY_VERSION: 3.2.2; darwin arm64; Faraday v2.9.0)' + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=UTF-8 + Content-Length: + - '44752' + body: + encoding: ASCII-8BIT + string: '{"took":29,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":893,"relation":"eq"},"max_score":null,"hits":[{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:in_mumbai_uf8firestations_2017","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:in_mumbai_uf8firestations_2017","timdex_record_id":"gismit:in_mumbai_uf8firestations_2017","title":"Mumbai, + India (Fire Stations, 2017)","citation":"ML Infomap Pvt Ltd. Mumbai, India + (Fire Stations, 2017). GIS Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:in_mumbai_uf8firestations_2017","content_type":["Geospatial + data"],"contributors":[{"value":"ML Infomap Pvt Ltd","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2017-08-17"}],"format":"Vector","identifiers":[{"value":"in_mumbai_uf8firestations_2017","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/in_mumbai_uf8firestations_2017.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/in_mumbai_uf8firestations_2017.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/in_mumbai_uf8firestations_2017.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (72.812690, + 72.966334, 19.247477, 18.915476)"},{"kind":"Geometry","geoshape":"BBOX (72.812690, + 72.966334, 19.247477, 18.915476)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"}],"subjects":[{"value":["Structure"],"kind":"DCAT; + Theme"},{"value":["India--Mumbai"],"kind":"Dublin Core; Spatial"},{"value":["Fire + stations"],"kind":"Dublin Core; Subject"},{"value":["structure"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["Entity + point"],"kind":"Subject scheme not provided"}],"summary":["Points of all fire + stations are shown."]},"sort":[1.0,1502928000000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_a1cities_10k20k_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_a1cities_10k20k_2016","timdex_record_id":"gismit:dz_a1cities_10k20k_2016","title":"Algeria + (Cities (10k-20k), 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Cities + (10k-20k), 2016). GIS Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_a1cities_10k20k_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_a1cities_10k20k_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_10k20k_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_10k20k_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_a1cities_10k20k_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-1.423186, + 8.313771, 36.917160, 29.388636)"},{"kind":"Geometry","geoshape":"BBOX (-1.423186, + 8.313771, 36.917160, 29.388636)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Location"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Cities and towns"],"kind":"Dublin Core; Subject"},{"value":["location"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["Entity + point"],"kind":"Subject scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_c28hydline_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_c28hydline_2016","timdex_record_id":"gismit:dz_c28hydline_2016","title":"Algeria + (Hydrographic Features (line), 2016)","citation":"GfK GeoMarketing GmbH. Algeria + (Hydrographic Features (line), 2016). GIS Lab, MIT Libraries. Geospatial data. + https://search.libraries.mit.edu/record/gismit:dz_c28hydline_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_c28hydline_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_c28hydline_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_c28hydline_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_c28hydline_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (0.132726, + 5.076599, 36.733252, 33.898693)"},{"kind":"Geometry","geoshape":"BBOX (0.132726, + 5.076599, 36.733252, 33.898693)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Algeria"],"kind":"Dublin Core; Spatial"},{"value":["Hydrology"],"kind":"Dublin + Core; Subject"},{"value":["inlandWaters"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["String"],"kind":"Subject scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_a1cities_20k50k_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_a1cities_20k50k_2016","timdex_record_id":"gismit:dz_a1cities_20k50k_2016","title":"Algeria + (Cities (20k-50k), 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Cities + (20k-50k), 2016). GIS Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_a1cities_20k50k_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_a1cities_20k50k_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_20k50k_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_20k50k_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_a1cities_20k50k_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-1.856799, + 8.443333, 37.007167, 19.573696)"},{"kind":"Geometry","geoshape":"BBOX (-1.856799, + 8.443333, 37.007167, 19.573696)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Location"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Cities and towns"],"kind":"Dublin Core; Subject"},{"value":["location"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["Entity + point"],"kind":"Subject scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_a1cities_50k100k_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_a1cities_50k100k_2016","timdex_record_id":"gismit:dz_a1cities_50k100k_2016","title":"Algeria + (Cities (50k-100k), 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Cities + (50k-100k), 2016). GIS Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_a1cities_50k100k_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_a1cities_50k100k_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_50k100k_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_50k100k_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_a1cities_50k100k_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-8.147435, + 8.129167, 36.823460, 22.785000)"},{"kind":"Geometry","geoshape":"BBOX (-8.147435, + 8.129167, 36.823460, 22.785000)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Location"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Cities and towns"],"kind":"Dublin Core; Subject"},{"value":["location"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["Entity + point"],"kind":"Subject scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_p2hig_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_p2hig_2016","timdex_record_id":"gismit:dz_p2hig_2016","title":"Algeria + (Cities (100k-500k), 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Cities + (100k-500k), 2016). GIS Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_p2hig_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_a1cities_100k500k_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_p2hig_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_p2hig_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_p2hig_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-2.216667, + 8.124167, 36.900000, 31.616667)"},{"kind":"Geometry","geoshape":"BBOX (-2.216667, + 8.124167, 36.900000, 31.616667)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Transportation"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Roads"],"kind":"Dublin Core; Subject"},{"value":["transportation"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["Entity + point"],"kind":"Subject scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_c28hydpoly_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_c28hydpoly_2016","timdex_record_id":"gismit:dz_c28hydpoly_2016","title":"Algeria + (Cities (10k-20k), 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Cities + (10k-20k), 2016). GIS Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_c28hydpoly_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_a1cities_10k20k_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_c28hydpoly_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_c28hydpoly_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_c28hydpoly_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-1.423186, + 8.313771, 36.917160, 29.388636)"},{"kind":"Geometry","geoshape":"BBOX (-1.423186, + 8.313771, 36.917160, 29.388636)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Algeria"],"kind":"Dublin Core; Spatial"},{"value":["Hydrology"],"kind":"Dublin + Core; Subject"},{"value":["inlandWaters"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["Entity point"],"kind":"Subject scheme not + provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_p2roads_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_p2roads_2016","timdex_record_id":"gismit:dz_p2roads_2016","title":"Algeria + (Roads, 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Roads, 2016). GIS + Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_p2roads_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_p2roads_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_p2roads_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_p2roads_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_p2roads_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-8.154491, + 10.548201, 36.919383, 19.442285)"},{"kind":"Geometry","geoshape":"BBOX (-8.154491, + 10.548201, 36.919383, 19.442285)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Transportation"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Roads"],"kind":"Dublin Core; Subject"},{"value":["transportation"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["String"],"kind":"Subject + scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_a1cities_100k500k_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_a1cities_100k500k_2016","timdex_record_id":"gismit:dz_a1cities_100k500k_2016","title":"Algeria + (Cities (100k-500k), 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Cities + (100k-500k), 2016). GIS Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_a1cities_100k500k_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_a1cities_100k500k_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_100k500k_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_100k500k_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_a1cities_100k500k_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-2.216667, + 8.124167, 36.900000, 31.616667)"},{"kind":"Geometry","geoshape":"BBOX (-2.216667, + 8.124167, 36.900000, 31.616667)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Location"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Cities and towns"],"kind":"Dublin Core; Subject"},{"value":["location"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["Entity + point"],"kind":"Subject scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_p61airports_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_p61airports_2016","timdex_record_id":"gismit:dz_p61airports_2016","title":"Algeria + (Airports, 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Airports, 2016). + GfK GeoMarketing GmbH. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_p61airports_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_p61airports_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_p61airports_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_p61airports_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_p61airports_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-8.166223, + 9.638056, 29.236944, 22.816967)"},{"kind":"Geometry","geoshape":"BBOX (-8.166223, + 9.638056, 29.236944, 22.816967)"}],"publication_information":["GfK GeoMarketing + GmbH","GIS Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"Access + is limited to members of the MIT community only -- maps may not be given to + anyone not officially and currently affiliated with MIT. Maps may be used + only for research, educational, and other scholarly purposes; it is permissible + to use images created from the software and data in scholarly publications + and dissertations. Any other use, unless it falls within the Fair Use provisions + of U.S. copyright law, is not permitted.The copyright of GfK GeoMarketing + must be placed on the maps.The data can be published as a Bitmap or comparable + format."}],"subjects":[{"value":["Transportation"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Airports"],"kind":"Dublin Core; Subject"},{"value":["transportation"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["Entity + point"],"kind":"Subject scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_a1cities_0k10k_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_a1cities_0k10k_2016","timdex_record_id":"gismit:dz_a1cities_0k10k_2016","title":"Algeria + (Cities (<10k), 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Cities + (<10k), 2016). GIS Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_a1cities_0k10k_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_a1cities_0k10k_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_0k10k_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_0k10k_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_a1cities_0k10k_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-7.843005, + 11.241667, 37.075000, 19.166667)"},{"kind":"Geometry","geoshape":"BBOX (-7.843005, + 11.241667, 37.075000, 19.166667)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Location"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Cities and towns"],"kind":"Dublin Core; Subject"},{"value":["location"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["Entity + point"],"kind":"Subject scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:in_jabalpur_f7ward_2011","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:in_jabalpur_f7ward_2011","timdex_record_id":"gismit:in_jabalpur_f7ward_2011","title":"Jabalpur, + India (Ward Census Data, 2011)","citation":"ML INFOMAP. Jabalpur, India (Ward + Census Data, 2011). ML Infomap. Geospatial data. https://search.libraries.mit.edu/record/gismit:in_jabalpur_f7ward_2011","content_type":["Geospatial + data"],"contributors":[{"value":"ML INFOMAP","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-04-25"},{"kind":"Coverage","value":"2011-01-01"},{"kind":"Coverage","value":"2011"}],"format":"Vector","links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/in_jabalpur_f7ward_2011.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/in_jabalpur_f7ward_2011.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/in_jabalpur_f7ward_2011.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (79.846140, + 80.022830, 23.229930, 23.090740)"},{"kind":"Geometry","geoshape":"BBOX (79.846140, + 80.022830, 23.229930, 23.090740)"}],"publication_information":["ML Infomap","GIS + Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"}],"subjects":[{"value":["Society"],"kind":"DCAT; + Theme"},{"value":["Boundaries"],"kind":"DCAT; Theme"},{"value":["India--Jabalpur"],"kind":"Dublin + Core; Spatial"},{"value":["Administrative and political divisions"],"kind":"Dublin + Core; Subject"},{"value":["Election districts"],"kind":"Dublin Core; Subject"},{"value":["Demographic + surveys"],"kind":"Dublin Core; Subject"},{"value":["society"],"kind":"Dublin + Core; Subject"},{"value":["boundaries"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["G-polygon"],"kind":"Subject scheme not provided"}],"summary":["This + layer shows the ward boundaries in Jabalpur (City in Madhya Pradesh, India) + in 2011. It includes demographic and socio-economic data linked to the 2011 + Primary Census Abstract."]},"sort":[1.0,1461542400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:in_varanasi_f7ward_2011","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:in_varanasi_f7ward_2011","timdex_record_id":"gismit:in_varanasi_f7ward_2011","title":"Varanasi, + India (Ward Census Data, 2011)","citation":"ML INFOMAP. Varanasi, India (Ward + Census Data, 2011). ML Infomap. Geospatial data. https://search.libraries.mit.edu/record/gismit:in_varanasi_f7ward_2011","content_type":["Geospatial + data"],"contributors":[{"value":"ML INFOMAP","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-04-25"},{"kind":"Coverage","value":"2011-01-01"},{"kind":"Coverage","value":"2011"}],"format":"Vector","links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/in_varanasi_f7ward_2011.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/in_varanasi_f7ward_2011.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/in_varanasi_f7ward_2011.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (82.926800, + 83.048200, 25.403860, 25.246710)"},{"kind":"Geometry","geoshape":"BBOX (82.926800, + 83.048200, 25.403860, 25.246710)"}],"publication_information":["ML Infomap","GIS + Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"}],"subjects":[{"value":["Society"],"kind":"DCAT; + Theme"},{"value":["Boundaries"],"kind":"DCAT; Theme"},{"value":["India--Va?ra?nasi + (District)"],"kind":"Dublin Core; Spatial"},{"value":["Administrative and + political divisions"],"kind":"Dublin Core; Subject"},{"value":["Election districts"],"kind":"Dublin + Core; Subject"},{"value":["Demographic surveys"],"kind":"Dublin Core; Subject"},{"value":["society"],"kind":"Dublin + Core; Subject"},{"value":["boundaries"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["G-polygon"],"kind":"Subject scheme not provided"}],"summary":["This + layer shows the ward boundaries in Varanasi (City in Uttar Pradesh, India) + in 2011. It includes demographic and socio-economic data linked to the 2011 + Primary Census Abstract."]},"sort":[1.0,1461542400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:in_visakhapatnam_f7ward_2011","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:in_visakhapatnam_f7ward_2011","timdex_record_id":"gismit:in_visakhapatnam_f7ward_2011","title":"Visakhapatnam, + India (Ward Census Data, 2011)","citation":"ML INFOMAP. Visakhapatnam, India + (Ward Census Data, 2011). ML Infomap. Geospatial data. https://search.libraries.mit.edu/record/gismit:in_visakhapatnam_f7ward_2011","content_type":["Geospatial + data"],"contributors":[{"value":"ML INFOMAP","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-04-25"},{"kind":"Coverage","value":"2011-01-01"},{"kind":"Coverage","value":"2011"}],"format":"Vector","links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/in_visakhapatnam_f7ward_2011.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/in_visakhapatnam_f7ward_2011.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/in_visakhapatnam_f7ward_2011.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (83.084050, + 83.408650, 17.874250, 17.547400)"},{"kind":"Geometry","geoshape":"BBOX (83.084050, + 83.408650, 17.874250, 17.547400)"}],"publication_information":["ML Infomap","GIS + Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"}],"subjects":[{"value":["Society"],"kind":"DCAT; + Theme"},{"value":["Boundaries"],"kind":"DCAT; Theme"},{"value":["India--Vishakhapatnam"],"kind":"Dublin + Core; Spatial"},{"value":["Administrative and political divisions"],"kind":"Dublin + Core; Subject"},{"value":["Election districts"],"kind":"Dublin Core; Subject"},{"value":["Demographic + surveys"],"kind":"Dublin Core; Subject"},{"value":["society"],"kind":"Dublin + Core; Subject"},{"value":["boundaries"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["G-polygon"],"kind":"Subject scheme not provided"}],"summary":["This + layer shows the ward boundaries in Visakhapatnam (City in Andhra Pradesh, + India) in 2011. It includes demographic and socio-economic data linked to + the 2011 Primary Census Abstract."]},"sort":[1.0,1461542400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:in_bhopal_f7ward_2011","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:in_bhopal_f7ward_2011","timdex_record_id":"gismit:in_bhopal_f7ward_2011","title":"Bhopal, + India (Ward Census Data, 2011)","citation":"ML INFOMAP. Bhopal, India (Ward + Census Data, 2011). ML Infomap. Geospatial data. https://search.libraries.mit.edu/record/gismit:in_bhopal_f7ward_2011","content_type":["Geospatial + data"],"contributors":[{"value":"ML INFOMAP","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-04-25"},{"kind":"Coverage","value":"2011-01-01"},{"kind":"Coverage","value":"2011"}],"format":"Vector","links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/in_bhopal_f7ward_2011.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/in_bhopal_f7ward_2011.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/in_bhopal_f7ward_2011.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (77.258670, + 77.503260, 23.342680, 23.143850)"},{"kind":"Geometry","geoshape":"BBOX (77.258670, + 77.503260, 23.342680, 23.143850)"}],"publication_information":["ML Infomap","GIS + Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"}],"subjects":[{"value":["Society"],"kind":"DCAT; + Theme"},{"value":["Boundaries"],"kind":"DCAT; Theme"},{"value":["India--Bhopal"],"kind":"Dublin + Core; Spatial"},{"value":["Administrative and political divisions"],"kind":"Dublin + Core; Subject"},{"value":["Election districts"],"kind":"Dublin Core; Subject"},{"value":["Demographic + surveys"],"kind":"Dublin Core; Subject"},{"value":["society"],"kind":"Dublin + Core; Subject"},{"value":["boundaries"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["G-polygon"],"kind":"Subject scheme not provided"}],"summary":["This + layer shows the ward boundaries in Bhopal (Capital of Madhya Pradesh, India) + in 2011. It includes demographic and socio-economic data linked to the 2011 + Primary Census Abstract."]},"sort":[1.0,1461542400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:in_meerut_f7ward_2011","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:in_meerut_f7ward_2011","timdex_record_id":"gismit:in_meerut_f7ward_2011","title":"Meerut, + India (Ward Census Data, 2011)","citation":"ML INFOMAP. Meerut, India (Ward + Census Data, 2011). ML Infomap. Geospatial data. https://search.libraries.mit.edu/record/gismit:in_meerut_f7ward_2011","content_type":["Geospatial + data"],"contributors":[{"value":"ML INFOMAP","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-04-25"},{"kind":"Coverage","value":"2011-01-01"},{"kind":"Coverage","value":"2011"}],"format":"Vector","links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/in_meerut_f7ward_2011.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/in_meerut_f7ward_2011.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/in_meerut_f7ward_2011.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (77.617350, + 77.775680, 29.076860, 28.904870)"},{"kind":"Geometry","geoshape":"BBOX (77.617350, + 77.775680, 29.076860, 28.904870)"}],"publication_information":["ML Infomap","GIS + Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"}],"subjects":[{"value":["Society"],"kind":"DCAT; + Theme"},{"value":["Boundaries"],"kind":"DCAT; Theme"},{"value":["India--Meerut"],"kind":"Dublin + Core; Spatial"},{"value":["Administrative and political divisions"],"kind":"Dublin + Core; Subject"},{"value":["Election districts"],"kind":"Dublin Core; Subject"},{"value":["Demographic + surveys"],"kind":"Dublin Core; Subject"},{"value":["society"],"kind":"Dublin + Core; Subject"},{"value":["boundaries"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["G-polygon"],"kind":"Subject scheme not provided"}],"summary":["This + layer shows the ward boundaries in Meerut (City in Uttar Pradesh, India) in + 2011. It includes demographic and socio-economic data linked to the 2011 Primary + Census Abstract."]},"sort":[1.0,1461542400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_f7regions_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_f7regions_2016","timdex_record_id":"gismit:dz_f7regions_2016","title":"Algeria + (2-Digit Postal Code Areas, 2016)","citation":"GfK GeoMarketing GmbH. Algeria + (2-Digit Postal Code Areas, 2016). GfK GeoMarketing GmbH. Geospatial data. + https://search.libraries.mit.edu/record/gismit:dz_f7regions_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-01-01"}],"format":"Vector","identifiers":[{"value":"Algeria + 2-digit postcode areas 2016Copy","kind":"Not specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_f7regions_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_f7regions_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_f7regions_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-8.667992, + 11.994246, 37.089704, 18.956237)"},{"kind":"Geometry","geoshape":"BBOX (-8.667992, + 11.994246, 37.089704, 18.956237)"}],"publication_information":["GfK GeoMarketing + GmbH","GIS Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"Access + is limited to members of the MIT community only -- maps may not be given to + anyone not officially and currently affiliated with MIT. Maps may be used + only for research, educational, and other scholarly purposes; it is permissible + to use images created from the software and data in scholarly publications + and dissertations. Any other use, unless it falls within the Fair Use provisions + of U.S. copyright law, is not permitted.The copyright of GfK GeoMarketing + must be placed on the maps.The data can be published as a Bitmap or comparable + format."}],"subjects":[{"value":["Location"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Postal codes"],"kind":"Dublin Core; Subject"},{"value":["location"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["G-polygon"],"kind":"Subject + scheme not provided"}]},"sort":[1.0,1451606400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_p8postcode2dig_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_p8postcode2dig_2016","timdex_record_id":"gismit:dz_p8postcode2dig_2016","title":"Algeria + (2-Digit Postal Code Areas, 2016)","citation":"GfK GeoMarketing GmbH. Algeria + (2-Digit Postal Code Areas, 2016). GfK GeoMarketing GmbH. Geospatial data. + https://search.libraries.mit.edu/record/gismit:dz_p8postcode2dig_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-01-01"}],"format":"Vector","identifiers":[{"value":"Algeria + 2-digit postcode areas 2016Copy","kind":"Not specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_p8postcode2dig_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_p8postcode2dig_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_p8postcode2dig_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-8.667992, + 11.994246, 37.089704, 18.956237)"},{"kind":"Geometry","geoshape":"BBOX (-8.667992, + 11.994246, 37.089704, 18.956237)"}],"publication_information":["GfK GeoMarketing + GmbH","GIS Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"Access + is limited to members of the MIT community only -- maps may not be given to + anyone not officially and currently affiliated with MIT. Maps may be used + only for research, educational, and other scholarly purposes; it is permissible + to use images created from the software and data in scholarly publications + and dissertations. Any other use, unless it falls within the Fair Use provisions + of U.S. copyright law, is not permitted.The copyright of GfK GeoMarketing + must be placed on the maps.The data can be published as a Bitmap or comparable + format."}],"subjects":[{"value":["Location"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Postal codes"],"kind":"Dublin Core; Subject"},{"value":["location"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["G-polygon"],"kind":"Subject + scheme not provided"}]},"sort":[1.0,1451606400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:SDE_DATA_IN_RAURKELA_F7WARD_2011","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:SDE_DATA_IN_RAURKELA_F7WARD_2011","timdex_record_id":"gismit:SDE_DATA_IN_RAURKELA_F7WARD_2011","title":"India, + Raurkela (Ward Census Data, 2011)","citation":"Registrar General and Census + Commissioner of India. India, Raurkela (Ward Census Data, 2011). ML Infomap. + Geospatial data. https://search.libraries.mit.edu/record/gismit:SDE_DATA_IN_RAURKELA_F7WARD_2011","content_type":["Geospatial + data"],"contributors":[{"value":"Registrar General and Census Commissioner + of India","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2015-12-04"},{"kind":"Coverage","value":"2015-12-04"},{"kind":"Coverage","value":"2015"}],"format":"Vector","identifiers":[{"value":"IN_RAURKELA_F7WARD_2011","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/SDE_DATA_IN_RAURKELA_F7WARD_2011.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/SDE_DATA_IN_RAURKELA_F7WARD_2011.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/SDE_DATA_IN_RAURKELA_F7WARD_2011.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (84.789650, + 84.940826, 22.275810, 22.179729)"},{"kind":"Geometry","geoshape":"BBOX (84.789650, + 84.940826, 22.275810, 22.179729)"}],"publication_information":["ML Infomap","GIS + Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"}],"subjects":[{"value":["Boundaries"],"kind":"DCAT; + Theme"},{"value":["Economy"],"kind":"DCAT; Theme"},{"value":["Society"],"kind":"DCAT; + Theme"},{"value":["India--Raurkela"],"kind":"Dublin Core; Spatial"},{"value":["Administrative + and political divisions"],"kind":"Dublin Core; Subject"},{"value":["Demographic + surveys"],"kind":"Dublin Core; Subject"},{"value":["Tribes"],"kind":"Dublin + Core; Subject"},{"value":["Caste"],"kind":"Dublin Core; Subject"},{"value":["Literacy"],"kind":"Dublin + Core; Subject"},{"value":["Population"],"kind":"Dublin Core; Subject"},{"value":["boundaries"],"kind":"Dublin + Core; Subject"},{"value":["economy"],"kind":"Dublin Core; Subject"},{"value":["society"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["G-polygon"],"kind":"Subject + scheme not provided"}],"summary":["This layer shows the ward boundaries in + Raurkela (city in Odisha, India) in 2011, linked to India''s 2011 Primary + Census Abstract."]},"sort":[1.0,1449187200000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:SDE_DATA_IN_ODISHA_F7VILLAGE_2011","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:SDE_DATA_IN_ODISHA_F7VILLAGE_2011","timdex_record_id":"gismit:SDE_DATA_IN_ODISHA_F7VILLAGE_2011","title":"India, + Odisha (Village Census Data, 2011)","citation":"Registrar General and Census + Commissioner of India. India, Odisha (Village Census Data, 2011). ML Infomap. + Geospatial data. https://search.libraries.mit.edu/record/gismit:SDE_DATA_IN_ODISHA_F7VILLAGE_2011","content_type":["Geospatial + data"],"contributors":[{"value":"Registrar General and Census Commissioner + of India","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2015-12-04"},{"kind":"Coverage","value":"2015-12-04"},{"kind":"Coverage","value":"2015"}],"format":"Vector","identifiers":[{"value":"IN_ODISHA_F7VILLAGE_2011","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/SDE_DATA_IN_ODISHA_F7VILLAGE_2011.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/SDE_DATA_IN_ODISHA_F7VILLAGE_2011.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/SDE_DATA_IN_ODISHA_F7VILLAGE_2011.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (81.390770, + 87.488937, 22.564871, 17.821276)"},{"kind":"Geometry","geoshape":"BBOX (81.390770, + 87.488937, 22.564871, 17.821276)"}],"publication_information":["ML Infomap","GIS + Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"}],"subjects":[{"value":["Boundaries"],"kind":"DCAT; + Theme"},{"value":["Economy"],"kind":"DCAT; Theme"},{"value":["Society"],"kind":"DCAT; + Theme"},{"value":["India--Odisha"],"kind":"Dublin Core; Spatial"},{"value":["Villages"],"kind":"Dublin + Core; Subject"},{"value":["Administrative and political divisions"],"kind":"Dublin + Core; Subject"},{"value":["Demographic surveys"],"kind":"Dublin Core; Subject"},{"value":["Tribes"],"kind":"Dublin + Core; Subject"},{"value":["Caste"],"kind":"Dublin Core; Subject"},{"value":["Literacy"],"kind":"Dublin + Core; Subject"},{"value":["Population"],"kind":"Dublin Core; Subject"},{"value":["boundaries"],"kind":"Dublin + Core; Subject"},{"value":["economy"],"kind":"Dublin Core; Subject"},{"value":["society"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["G-polygon"],"kind":"Subject + scheme not provided"}],"summary":["This layer shows the village boundaries + in Odisha, India in 2011, linked to India''s 2011 Primary Census Abstract."]},"sort":[1.0,1449187200000]}]},"aggregations":{"languages":{"doc_count_error_upper_bound":0,"sum_other_doc_count":0,"buckets":[{"key":"eng","doc_count":873}]},"content_type":{"doc_count_error_upper_bound":0,"sum_other_doc_count":0,"buckets":[{"key":"geospatial + data","doc_count":893}]},"subjects":{"doc_count":6871,"subject_names":{"doc_count_error_upper_bound":0,"sum_other_doc_count":2998,"buckets":[{"key":"datasets","doc_count":891},{"key":"boundaries","doc_count":764},{"key":"g-polygon","doc_count":475},{"key":"location","doc_count":406},{"key":"entity + point","doc_count":315},{"key":"administrative and political divisions","doc_count":262},{"key":"society","doc_count":220},{"key":"transportation","doc_count":220},{"key":"names, + geographical","doc_count":174},{"key":"economy","doc_count":146}]}},"content_format":{"doc_count_error_upper_bound":0,"sum_other_doc_count":0,"buckets":[{"key":"vector","doc_count":884},{"key":"point","doc_count":7},{"key":"raster","doc_count":2}]},"literary_form":{"doc_count_error_upper_bound":0,"sum_other_doc_count":0,"buckets":[]},"source":{"doc_count_error_upper_bound":0,"sum_other_doc_count":0,"buckets":[{"key":"mit + gis resources","doc_count":893}]},"contributors":{"doc_count":1083,"contributor_names":{"doc_count_error_upper_bound":0,"sum_other_doc_count":381,"buckets":[{"key":"gfk + geomarketing gmbh","doc_count":216},{"key":"united states. national imagery + and mapping agency","doc_count":104},{"key":"environmental systems research + institute (redlands, calif.)","doc_count":98},{"key":"national imagery and + mapping agency","doc_count":60},{"key":"surveyor general, cape town, department + of land affairs","doc_count":45},{"key":"esri","doc_count":41},{"key":"tele + atlas b.v.","doc_count":41},{"key":"and international publishers n.v.","doc_count":36},{"key":"ml + infomap","doc_count":32},{"key":"usgs","doc_count":29}]}}}}' + recorded_at: Wed, 14 Feb 2024 16:37:54 GMT +recorded_with: VCR 6.2.0 diff --git a/test/vcr_cassettes/graphqlv2_geobox_western_hemisphere.yml b/test/vcr_cassettes/graphqlv2_geobox_western_hemisphere.yml new file mode 100644 index 00000000..0c616e1c --- /dev/null +++ b/test/vcr_cassettes/graphqlv2_geobox_western_hemisphere.yml @@ -0,0 +1,436 @@ +--- +http_interactions: +- request: + method: post + uri: http://localhost:9200/timdex-prod/_search + body: + encoding: UTF-8 + string: '{"from":"0","size":20,"query":{"bool":{"should":null,"must":[{"bool":{"must":{"match_all":{}},"filter":{"geo_bounding_box":{"locations.geoshape":{"top":90.0,"bottom":-90.0,"left":180.0,"right":0.0}}}}}],"filter":[]}},"aggregations":{"contributors":{"nested":{"path":"contributors"},"aggs":{"contributor_names":{"terms":{"field":"contributors.value.keyword"}}}},"content_type":{"terms":{"field":"content_type"}},"content_format":{"terms":{"field":"format"}},"languages":{"terms":{"field":"languages.keyword"}},"literary_form":{"terms":{"field":"literary_form"}},"source":{"terms":{"field":"source"}},"subjects":{"nested":{"path":"subjects"},"aggs":{"subject_names":{"terms":{"field":"subjects.value.keyword"}}}}},"sort":[{"_score":{"order":"desc"}},{"dates.value.as_date":{"order":"desc","nested":{"path":"dates"}}}]}' + headers: + User-Agent: + - 'opensearch-ruby/3.1.0 (RUBY_VERSION: 3.2.2; darwin arm64; Faraday v2.9.0)' + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=UTF-8 + Content-Length: + - '48052' + body: + encoding: ASCII-8BIT + string: '{"took":10,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":1449,"relation":"eq"},"max_score":null,"hits":[{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:us_ma_boston_g47parcels_2018","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:us_ma_boston_g47parcels_2018","timdex_record_id":"gismit:us_ma_boston_g47parcels_2018","title":"Boston, + MA (Land parcels, 2018)","citation":"City of Boston Assessing Department. + Boston, MA (Land parcels, 2018). GIS Lab, MIT Libraries. Geospatial data. + https://search.libraries.mit.edu/record/gismit:us_ma_boston_g47parcels_2018","content_type":["Geospatial + data"],"contributors":[{"value":"City of Boston Assessing Department","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2018-01-01"},{"kind":"Coverage","value":"2015-01-01"},{"kind":"Coverage","value":"2015"}],"format":"Vector","identifiers":[{"value":"us_ma_boston_g47parcels_2018","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/us_ma_boston_g47parcels_2018.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/us_ma_boston_g47parcels_2018.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/us_ma_boston_g47parcels_2018.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-71.190913, + -70.868654, 42.397012, 42.227864)"},{"kind":"Geometry","geoshape":"BBOX (-71.190913, + -70.868654, 42.397012, 42.227864)"}],"publication_information":["GIS Lab, + MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"N/A"}],"subjects":[{"value":["Economy"],"kind":"DCAT; + Theme"},{"value":["Boundaries"],"kind":"DCAT; Theme"},{"value":["Location"],"kind":"DCAT; + Theme"},{"value":["Massachusetts--Boston"],"kind":"Dublin Core; Spatial"},{"value":["Land + use"],"kind":"Dublin Core; Subject"},{"value":["Neighborhoods"],"kind":"Dublin + Core; Subject"},{"value":["Administrative and political divisions"],"kind":"Dublin + Core; Subject"},{"value":["Land value taxation"],"kind":"Dublin Core; Subject"},{"value":["Land + tenure"],"kind":"Dublin Core; Subject"},{"value":["economy"],"kind":"Dublin + Core; Subject"},{"value":["planningCadastre"],"kind":"Dublin Core; Subject"},{"value":["boundaries"],"kind":"Dublin + Core; Subject"},{"value":["location"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["G-polygon"],"kind":"Subject scheme not provided"}],"summary":["City + of Boston property parcel data from FY 2018 was joined with parcel boundaries + from FY 2018. All data is from the City of Boston Assessor''s office and represents + data from 2017."]},"sort":[1.0,1514764800000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:us_ma_boston_g47parcels_2017","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:us_ma_boston_g47parcels_2017","timdex_record_id":"gismit:us_ma_boston_g47parcels_2017","title":"Boston, + MA (Land parcels, 2017)","citation":"City of Boston Assessing Department. + Boston, MA (Land parcels, 2017). GIS Lab, MIT Libraries. Geospatial data. + https://search.libraries.mit.edu/record/gismit:us_ma_boston_g47parcels_2017","content_type":["Geospatial + data"],"contributors":[{"value":"City of Boston Assessing Department","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2017-01-01"},{"kind":"Coverage","value":"2017-01-01"},{"kind":"Coverage","value":"2017"}],"format":"Vector","identifiers":[{"value":"us_ma_boston_g47parcels_2017","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/us_ma_boston_g47parcels_2017.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/us_ma_boston_g47parcels_2017.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/us_ma_boston_g47parcels_2017.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-71.190913, + -70.923055, 42.397004, 42.227856)"},{"kind":"Geometry","geoshape":"BBOX (-71.190913, + -70.923055, 42.397004, 42.227856)"}],"publication_information":["GIS Lab, + MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"N/A"}],"subjects":[{"value":["Economy"],"kind":"DCAT; + Theme"},{"value":["Boundaries"],"kind":"DCAT; Theme"},{"value":["Location"],"kind":"DCAT; + Theme"},{"value":["Massachusetts--Boston"],"kind":"Dublin Core; Spatial"},{"value":["Land + use"],"kind":"Dublin Core; Subject"},{"value":["Neighborhoods"],"kind":"Dublin + Core; Subject"},{"value":["Administrative and political divisions"],"kind":"Dublin + Core; Subject"},{"value":["Land value taxation"],"kind":"Dublin Core; Subject"},{"value":["Land + tenure"],"kind":"Dublin Core; Subject"},{"value":["economy"],"kind":"Dublin + Core; Subject"},{"value":["planningCadastre"],"kind":"Dublin Core; Subject"},{"value":["boundaries"],"kind":"Dublin + Core; Subject"},{"value":["location"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["G-polygon"],"kind":"Subject scheme not provided"}],"summary":["City + of Boston property parcel data from FY 2017 was joined with parcel boundaries + from FY 2017. All data is from the City of Boston Assessor''s office and represents + data from 2016."]},"sort":[1.0,1483228800000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:US_MA_BOSTON_G47PARCELS_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:US_MA_BOSTON_G47PARCELS_2016","timdex_record_id":"gismit:US_MA_BOSTON_G47PARCELS_2016","title":"Boston, + MA (Land parcels, 2016)","citation":"City of Boston Assessing Department. + Boston, MA (Land parcels, 2016). GIS Lab, MIT Libraries. Geospatial data. + https://search.libraries.mit.edu/record/gismit:US_MA_BOSTON_G47PARCELS_2016","content_type":["Geospatial + data"],"contributors":[{"value":"City of Boston Assessing Department","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2017-01-01"},{"kind":"Coverage","value":"2016-01-01"},{"kind":"Coverage","value":"2016"}],"format":"Vector","identifiers":[{"value":"us_ma_boston_g47parcels_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/US_MA_BOSTON_G47PARCELS_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/US_MA_BOSTON_G47PARCELS_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/US_MA_BOSTON_G47PARCELS_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-71.190913, + -70.923055, 42.397004, 42.227856)"},{"kind":"Geometry","geoshape":"BBOX (-71.190913, + -70.923055, 42.397004, 42.227856)"}],"publication_information":["GIS Lab, + MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"N/A"}],"subjects":[{"value":["Economy"],"kind":"DCAT; + Theme"},{"value":["Boundaries"],"kind":"DCAT; Theme"},{"value":["Location"],"kind":"DCAT; + Theme"},{"value":["Boston"],"kind":"Dublin Core; Spatial"},{"value":["USA"],"kind":"Dublin + Core; Spatial"},{"value":["Massachusetts"],"kind":"Dublin Core; Spatial"},{"value":["MA"],"kind":"Dublin + Core; Spatial"},{"value":["parcels"],"kind":"Dublin Core; Subject"},{"value":["land + parcels"],"kind":"Dublin Core; Subject"},{"value":["land use"],"kind":"Dublin + Core; Subject"},{"value":["wards"],"kind":"Dublin Core; Subject"},{"value":["polygon"],"kind":"Dublin + Core; Subject"},{"value":["tax"],"kind":"Dublin Core; Subject"},{"value":["land + ownership"],"kind":"Dublin Core; Subject"},{"value":["improvements"],"kind":"Dublin + Core; Subject"},{"value":["neighborhoods"],"kind":"Dublin Core; Subject"},{"value":["lot + size"],"kind":"Dublin Core; Subject"},{"value":["economy"],"kind":"Dublin + Core; Subject"},{"value":["planningCadastre"],"kind":"Dublin Core; Subject"},{"value":["boundaries"],"kind":"Dublin + Core; Subject"},{"value":["location"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["G-polygon"],"kind":"Subject scheme not provided"}],"summary":["City + of Boston property parcel data from FY 2016 was joined with parcel boundaries + from FY 2016. All data is from the City of Boston Assessor''s office and represents + data from 2015."]},"sort":[1.0,1483228800000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_a1cities_10k20k_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_a1cities_10k20k_2016","timdex_record_id":"gismit:dz_a1cities_10k20k_2016","title":"Algeria + (Cities (10k-20k), 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Cities + (10k-20k), 2016). GIS Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_a1cities_10k20k_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_a1cities_10k20k_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_10k20k_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_10k20k_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_a1cities_10k20k_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-1.423186, + 8.313771, 36.917160, 29.388636)"},{"kind":"Geometry","geoshape":"BBOX (-1.423186, + 8.313771, 36.917160, 29.388636)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Location"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Cities and towns"],"kind":"Dublin Core; Subject"},{"value":["location"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["Entity + point"],"kind":"Subject scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_a1cities_20k50k_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_a1cities_20k50k_2016","timdex_record_id":"gismit:dz_a1cities_20k50k_2016","title":"Algeria + (Cities (20k-50k), 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Cities + (20k-50k), 2016). GIS Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_a1cities_20k50k_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_a1cities_20k50k_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_20k50k_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_20k50k_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_a1cities_20k50k_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-1.856799, + 8.443333, 37.007167, 19.573696)"},{"kind":"Geometry","geoshape":"BBOX (-1.856799, + 8.443333, 37.007167, 19.573696)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Location"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Cities and towns"],"kind":"Dublin Core; Subject"},{"value":["location"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["Entity + point"],"kind":"Subject scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_a1cities_50k100k_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_a1cities_50k100k_2016","timdex_record_id":"gismit:dz_a1cities_50k100k_2016","title":"Algeria + (Cities (50k-100k), 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Cities + (50k-100k), 2016). GIS Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_a1cities_50k100k_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_a1cities_50k100k_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_50k100k_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_50k100k_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_a1cities_50k100k_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-8.147435, + 8.129167, 36.823460, 22.785000)"},{"kind":"Geometry","geoshape":"BBOX (-8.147435, + 8.129167, 36.823460, 22.785000)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Location"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Cities and towns"],"kind":"Dublin Core; Subject"},{"value":["location"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["Entity + point"],"kind":"Subject scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_p2hig_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_p2hig_2016","timdex_record_id":"gismit:dz_p2hig_2016","title":"Algeria + (Cities (100k-500k), 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Cities + (100k-500k), 2016). GIS Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_p2hig_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_a1cities_100k500k_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_p2hig_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_p2hig_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_p2hig_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-2.216667, + 8.124167, 36.900000, 31.616667)"},{"kind":"Geometry","geoshape":"BBOX (-2.216667, + 8.124167, 36.900000, 31.616667)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Transportation"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Roads"],"kind":"Dublin Core; Subject"},{"value":["transportation"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["Entity + point"],"kind":"Subject scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_c28hydpoly_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_c28hydpoly_2016","timdex_record_id":"gismit:dz_c28hydpoly_2016","title":"Algeria + (Cities (10k-20k), 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Cities + (10k-20k), 2016). GIS Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_c28hydpoly_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_a1cities_10k20k_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_c28hydpoly_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_c28hydpoly_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_c28hydpoly_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-1.423186, + 8.313771, 36.917160, 29.388636)"},{"kind":"Geometry","geoshape":"BBOX (-1.423186, + 8.313771, 36.917160, 29.388636)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Algeria"],"kind":"Dublin Core; Spatial"},{"value":["Hydrology"],"kind":"Dublin + Core; Subject"},{"value":["inlandWaters"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["Entity point"],"kind":"Subject scheme not + provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_p2roads_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_p2roads_2016","timdex_record_id":"gismit:dz_p2roads_2016","title":"Algeria + (Roads, 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Roads, 2016). GIS + Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_p2roads_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_p2roads_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_p2roads_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_p2roads_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_p2roads_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-8.154491, + 10.548201, 36.919383, 19.442285)"},{"kind":"Geometry","geoshape":"BBOX (-8.154491, + 10.548201, 36.919383, 19.442285)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Transportation"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Roads"],"kind":"Dublin Core; Subject"},{"value":["transportation"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["String"],"kind":"Subject + scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_a1cities_100k500k_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_a1cities_100k500k_2016","timdex_record_id":"gismit:dz_a1cities_100k500k_2016","title":"Algeria + (Cities (100k-500k), 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Cities + (100k-500k), 2016). GIS Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_a1cities_100k500k_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_a1cities_100k500k_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_100k500k_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_100k500k_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_a1cities_100k500k_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-2.216667, + 8.124167, 36.900000, 31.616667)"},{"kind":"Geometry","geoshape":"BBOX (-2.216667, + 8.124167, 36.900000, 31.616667)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Location"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Cities and towns"],"kind":"Dublin Core; Subject"},{"value":["location"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["Entity + point"],"kind":"Subject scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_p61airports_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_p61airports_2016","timdex_record_id":"gismit:dz_p61airports_2016","title":"Algeria + (Airports, 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Airports, 2016). + GfK GeoMarketing GmbH. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_p61airports_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_p61airports_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_p61airports_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_p61airports_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_p61airports_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-8.166223, + 9.638056, 29.236944, 22.816967)"},{"kind":"Geometry","geoshape":"BBOX (-8.166223, + 9.638056, 29.236944, 22.816967)"}],"publication_information":["GfK GeoMarketing + GmbH","GIS Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"Access + is limited to members of the MIT community only -- maps may not be given to + anyone not officially and currently affiliated with MIT. Maps may be used + only for research, educational, and other scholarly purposes; it is permissible + to use images created from the software and data in scholarly publications + and dissertations. Any other use, unless it falls within the Fair Use provisions + of U.S. copyright law, is not permitted.The copyright of GfK GeoMarketing + must be placed on the maps.The data can be published as a Bitmap or comparable + format."}],"subjects":[{"value":["Transportation"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Airports"],"kind":"Dublin Core; Subject"},{"value":["transportation"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["Entity + point"],"kind":"Subject scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_a1cities_0k10k_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_a1cities_0k10k_2016","timdex_record_id":"gismit:dz_a1cities_0k10k_2016","title":"Algeria + (Cities (<10k), 2016)","citation":"GfK GeoMarketing GmbH. Algeria (Cities + (<10k), 2016). GIS Lab, MIT Libraries. Geospatial data. https://search.libraries.mit.edu/record/gismit:dz_a1cities_0k10k_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-12-01"}],"format":"Vector","identifiers":[{"value":"dz_a1cities_0k10k_2016","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_0k10k_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_a1cities_0k10k_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_a1cities_0k10k_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-7.843005, + 11.241667, 37.075000, 19.166667)"},{"kind":"Geometry","geoshape":"BBOX (-7.843005, + 11.241667, 37.075000, 19.166667)"}],"publication_information":["GIS Lab, MIT + Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"License + required"}],"subjects":[{"value":["Location"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Cities and towns"],"kind":"Dublin Core; Subject"},{"value":["location"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["Entity + point"],"kind":"Subject scheme not provided"}]},"sort":[1.0,1480550400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_f7regions_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_f7regions_2016","timdex_record_id":"gismit:dz_f7regions_2016","title":"Algeria + (2-Digit Postal Code Areas, 2016)","citation":"GfK GeoMarketing GmbH. Algeria + (2-Digit Postal Code Areas, 2016). GfK GeoMarketing GmbH. Geospatial data. + https://search.libraries.mit.edu/record/gismit:dz_f7regions_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-01-01"}],"format":"Vector","identifiers":[{"value":"Algeria + 2-digit postcode areas 2016Copy","kind":"Not specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_f7regions_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_f7regions_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_f7regions_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-8.667992, + 11.994246, 37.089704, 18.956237)"},{"kind":"Geometry","geoshape":"BBOX (-8.667992, + 11.994246, 37.089704, 18.956237)"}],"publication_information":["GfK GeoMarketing + GmbH","GIS Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"Access + is limited to members of the MIT community only -- maps may not be given to + anyone not officially and currently affiliated with MIT. Maps may be used + only for research, educational, and other scholarly purposes; it is permissible + to use images created from the software and data in scholarly publications + and dissertations. Any other use, unless it falls within the Fair Use provisions + of U.S. copyright law, is not permitted.The copyright of GfK GeoMarketing + must be placed on the maps.The data can be published as a Bitmap or comparable + format."}],"subjects":[{"value":["Location"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Postal codes"],"kind":"Dublin Core; Subject"},{"value":["location"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["G-polygon"],"kind":"Subject + scheme not provided"}]},"sort":[1.0,1451606400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:dz_p8postcode2dig_2016","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:dz_p8postcode2dig_2016","timdex_record_id":"gismit:dz_p8postcode2dig_2016","title":"Algeria + (2-Digit Postal Code Areas, 2016)","citation":"GfK GeoMarketing GmbH. Algeria + (2-Digit Postal Code Areas, 2016). GfK GeoMarketing GmbH. Geospatial data. + https://search.libraries.mit.edu/record/gismit:dz_p8postcode2dig_2016","content_type":["Geospatial + data"],"contributors":[{"value":"GfK GeoMarketing GmbH","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2016-01-01"}],"format":"Vector","identifiers":[{"value":"Algeria + 2-digit postcode areas 2016Copy","kind":"Not specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_p8postcode2dig_2016.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/dz_p8postcode2dig_2016.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/dz_p8postcode2dig_2016.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-8.667992, + 11.994246, 37.089704, 18.956237)"},{"kind":"Geometry","geoshape":"BBOX (-8.667992, + 11.994246, 37.089704, 18.956237)"}],"publication_information":["GfK GeoMarketing + GmbH","GIS Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"Access + is limited to members of the MIT community only -- maps may not be given to + anyone not officially and currently affiliated with MIT. Maps may be used + only for research, educational, and other scholarly purposes; it is permissible + to use images created from the software and data in scholarly publications + and dissertations. Any other use, unless it falls within the Fair Use provisions + of U.S. copyright law, is not permitted.The copyright of GfK GeoMarketing + must be placed on the maps.The data can be published as a Bitmap or comparable + format."}],"subjects":[{"value":["Location"],"kind":"DCAT; Theme"},{"value":["Algeria"],"kind":"Dublin + Core; Spatial"},{"value":["Postal codes"],"kind":"Dublin Core; Subject"},{"value":["location"],"kind":"Dublin + Core; Subject"},{"value":["Datasets"],"kind":"Subject scheme not provided"},{"value":["G-polygon"],"kind":"Subject + scheme not provided"}]},"sort":[1.0,1451606400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:US_MA_BOSTON_G47PARCELS_2015","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:US_MA_BOSTON_G47PARCELS_2015","timdex_record_id":"gismit:US_MA_BOSTON_G47PARCELS_2015","title":"Boston, + MA (Land parcels, 2015)","citation":"City of Boston Assessing Department. + Boston, MA (Land parcels, 2015). City of Boston Assessing Department. Geospatial + data. https://search.libraries.mit.edu/record/gismit:US_MA_BOSTON_G47PARCELS_2015","content_type":["Geospatial + data"],"contributors":[{"value":"City of Boston Assessing Department","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2015-01-01"},{"kind":"Coverage","value":"2015-01-01"},{"kind":"Coverage","value":"2015"}],"format":"Vector","identifiers":[{"value":"us_ma_boston_g47parcels_2015","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/US_MA_BOSTON_G47PARCELS_2015.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/US_MA_BOSTON_G47PARCELS_2015.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/US_MA_BOSTON_G47PARCELS_2015.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-71.190913, + -70.953184, 42.397012, 42.227864)"},{"kind":"Geometry","geoshape":"BBOX (-71.190913, + -70.953184, 42.397012, 42.227864)"}],"publication_information":["City of Boston + Assessing Department","GIS Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"N/A"}],"subjects":[{"value":["Economy"],"kind":"DCAT; + Theme"},{"value":["Boundaries"],"kind":"DCAT; Theme"},{"value":["Location"],"kind":"DCAT; + Theme"},{"value":["Boston"],"kind":"Dublin Core; Spatial"},{"value":["USA"],"kind":"Dublin + Core; Spatial"},{"value":["Massachusetts"],"kind":"Dublin Core; Spatial"},{"value":["MA"],"kind":"Dublin + Core; Spatial"},{"value":["parcels"],"kind":"Dublin Core; Subject"},{"value":["land + parcels"],"kind":"Dublin Core; Subject"},{"value":["land use"],"kind":"Dublin + Core; Subject"},{"value":["wards"],"kind":"Dublin Core; Subject"},{"value":["polygon"],"kind":"Dublin + Core; Subject"},{"value":["tax"],"kind":"Dublin Core; Subject"},{"value":["land + ownership"],"kind":"Dublin Core; Subject"},{"value":["improvements"],"kind":"Dublin + Core; Subject"},{"value":["neighborhoods"],"kind":"Dublin Core; Subject"},{"value":["lot + size"],"kind":"Dublin Core; Subject"},{"value":["economy"],"kind":"Dublin + Core; Subject"},{"value":["planningCadastre"],"kind":"Dublin Core; Subject"},{"value":["boundaries"],"kind":"Dublin + Core; Subject"},{"value":["location"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["G-polygon"],"kind":"Subject scheme not provided"}],"summary":["City + of Boston property parcel data from FY 2015 was joined with parcel boundaries + from FY 2015. All data is from the City of Boston Assessor''s office and represents + data from 2014."]},"sort":[1.0,1420070400000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:SDE_DATA_INT_P94INCLUSIONS3G_2014","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:SDE_DATA_INT_P94INCLUSIONS3G_2014","timdex_record_id":"gismit:SDE_DATA_INT_P94INCLUSIONS3G_2014","title":"World + (3G Mobile Phone Coverage Inclusion, 2014)","citation":"Collins Bartholomew. + World (3G Mobile Phone Coverage Inclusion, 2014). Collins Bartholomew. Geospatial + data. https://search.libraries.mit.edu/record/gismit:SDE_DATA_INT_P94INCLUSIONS3G_2014","content_type":["Geospatial + data"],"contributors":[{"value":"Collins Bartholomew","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2014-12-01"},{"kind":"Coverage","value":"2014-12-01"},{"kind":"Coverage","value":"2014"}],"format":"Vector","identifiers":[{"value":"INT_P94INCLUSIONS3G_2014","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/SDE_DATA_INT_P94INCLUSIONS3G_2014.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/SDE_DATA_INT_P94INCLUSIONS3G_2014.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/SDE_DATA_INT_P94INCLUSIONS3G_2014.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-150.000000, + 177.972000, 64.793404, -40.000000)"},{"kind":"Geometry","geoshape":"BBOX (-150.000000, + 177.972000, 64.793404, -40.000000)"}],"publication_information":["Collins + Bartholomew","GIS Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"}],"subjects":[{"value":["Earth + (Planet)"],"kind":"Dublin Core; Spatial"},{"value":["utilitiesCommunication"],"kind":"Dublin + Core; Subject"},{"value":["Public utilities"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["Entity point"],"kind":"Subject scheme not + provided"}],"summary":["These inclusion metadata files for GSM, 3G, and 4G + mobile coverage are an attempt at listing all the networks which are included + in the separate world mobile phone coverage datasets. Unfortunately the lists + cannot be comprehensive because legacy datasets did not maintain the information + required to make them complete."]},"sort":[1.0,1417392000000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:SDE_DATA_INT_P94INCLUSIONS4G_2014","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:SDE_DATA_INT_P94INCLUSIONS4G_2014","timdex_record_id":"gismit:SDE_DATA_INT_P94INCLUSIONS4G_2014","title":"World + (4G Mobile Phone Coverage Inclusion, 2014)","citation":"Collins Bartholomew. + World (4G Mobile Phone Coverage Inclusion, 2014). Collins Bartholomew. Geospatial + data. https://search.libraries.mit.edu/record/gismit:SDE_DATA_INT_P94INCLUSIONS4G_2014","content_type":["Geospatial + data"],"contributors":[{"value":"Collins Bartholomew","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2014-12-01"},{"kind":"Coverage","value":"2014-12-01"},{"kind":"Coverage","value":"2014"}],"format":"Vector","identifiers":[{"value":"INT_P94INCLUSIONS4G_2014","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/SDE_DATA_INT_P94INCLUSIONS4G_2014.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/SDE_DATA_INT_P94INCLUSIONS4G_2014.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/SDE_DATA_INT_P94INCLUSIONS4G_2014.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-100.000000, + 170.481070, 64.518784, -40.000000)"},{"kind":"Geometry","geoshape":"BBOX (-100.000000, + 170.481070, 64.518784, -40.000000)"}],"publication_information":["Collins + Bartholomew","GIS Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"}],"subjects":[{"value":["Earth + (Planet)"],"kind":"Dublin Core; Spatial"},{"value":["utilitiesCommunication"],"kind":"Dublin + Core; Subject"},{"value":["Public utilities"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["Entity point"],"kind":"Subject scheme not + provided"}],"summary":["These inclusion metadata files for GSM, 3G, and 4G + mobile coverage are an attempt at listing all the networks which are included + in the separate world mobile phone coverage datasets. Unfortunately the lists + cannot be comprehensive because legacy datasets did not maintain the information + required to make them complete."]},"sort":[1.0,1417392000000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:SDE_DATA_INT_P944G_2014","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:SDE_DATA_INT_P944G_2014","timdex_record_id":"gismit:SDE_DATA_INT_P944G_2014","title":"World + (4G Mobile Phone Coverage, 2014)","citation":"Collins Bartholomew. World (4G + Mobile Phone Coverage, 2014). Collins Bartholomew. Geospatial data. https://search.libraries.mit.edu/record/gismit:SDE_DATA_INT_P944G_2014","content_type":["Geospatial + data"],"contributors":[{"value":"Collins Bartholomew","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2014-12-01"},{"kind":"Coverage","value":"2014-12-01"},{"kind":"Coverage","value":"2014"}],"format":"Vector","identifiers":[{"value":"INT_P944G_2014","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/SDE_DATA_INT_P944G_2014.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/SDE_DATA_INT_P944G_2014.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/SDE_DATA_INT_P944G_2014.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-135.373169, + 178.145985, 68.532066, -46.186684)"},{"kind":"Geometry","geoshape":"BBOX (-135.373169, + 178.145985, 68.532066, -46.186684)"}],"publication_information":["Collins + Bartholomew","GIS Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"}],"subjects":[{"value":["Earth + (Planet)"],"kind":"Dublin Core; Spatial"},{"value":["utilitiesCommunication"],"kind":"Dublin + Core; Subject"},{"value":["Public utilities"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["G-polygon"],"kind":"Subject scheme not provided"}],"summary":["Collins + Mobile Coverage Explorer is a representation of the area covered by mobile + communications around the world. The data is created from submissions, made + directly to Collins Bartholomew or the GSMA from mobile operators, which provide + roaming detail for inclusion in the online mapping application known as Collins + Mobile Coverage Web."]},"sort":[1.0,1417392000000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:SDE_DATA_INT_P94INCLUSIONSGSM_2014","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:SDE_DATA_INT_P94INCLUSIONSGSM_2014","timdex_record_id":"gismit:SDE_DATA_INT_P94INCLUSIONSGSM_2014","title":"World + (GSM Mobile Phone Coverage Inclusion, 2014)","citation":"Collins Bartholomew. + World (GSM Mobile Phone Coverage Inclusion, 2014). Collins Bartholomew. Geospatial + data. https://search.libraries.mit.edu/record/gismit:SDE_DATA_INT_P94INCLUSIONSGSM_2014","content_type":["Geospatial + data"],"contributors":[{"value":"Collins Bartholomew","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2014-12-01"},{"kind":"Coverage","value":"2014-12-01"},{"kind":"Coverage","value":"2014"}],"format":"Vector","identifiers":[{"value":"INT_P94INCLUSIONSGSM_2014","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/SDE_DATA_INT_P94INCLUSIONSGSM_2014.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/SDE_DATA_INT_P94INCLUSIONSGSM_2014.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/SDE_DATA_INT_P94INCLUSIONSGSM_2014.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-180.000000, + 177.972000, 74.786049, -50.000000)"},{"kind":"Geometry","geoshape":"BBOX (-180.000000, + 177.972000, 74.786049, -50.000000)"}],"publication_information":["Collins + Bartholomew","GIS Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"}],"subjects":[{"value":["Earth + (Planet)"],"kind":"Dublin Core; Spatial"},{"value":["utilitiesCommunication"],"kind":"Dublin + Core; Subject"},{"value":["Cell phones"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["Entity point"],"kind":"Subject scheme not + provided"}],"summary":["These inclusion metadata files for GSM, 3G, and 4G + mobile coverage are an attempt at listing all the networks which are included + in the separate world mobile phone coverage datasets. Unfortunately the lists + cannot be comprehensive because legacy datasets did not maintain the information + required to make them complete."]},"sort":[1.0,1417392000000]},{"_index":"gismit-2024-02-02t11-36-57","_id":"gismit:SDE_DATA_US_MA_BOSTON_G47PARCELS_2014","_score":1.0,"_source":{"source":"MIT + GIS Resources","source_link":"https://search.libraries.mit.edu/record/gismit:SDE_DATA_US_MA_BOSTON_G47PARCELS_2014","timdex_record_id":"gismit:SDE_DATA_US_MA_BOSTON_G47PARCELS_2014","title":"Boston, + MA (Land Parcels, 2014)","citation":"Boston (Mass.) Assessing Department. + Boston, MA (Land Parcels, 2014). Boston (Mass.) Assessing Department. Geospatial + data. https://search.libraries.mit.edu/record/gismit:SDE_DATA_US_MA_BOSTON_G47PARCELS_2014","content_type":["Geospatial + data"],"contributors":[{"value":"Boston (Mass.) Assessing Department","kind":"Creator"}],"dates":[{"kind":"Issued","value":"2014-01-01"},{"kind":"Coverage","value":"2014-01-01"},{"kind":"Coverage","value":"2014"}],"format":"Vector","identifiers":[{"value":"US_MA_BOSTON_G47PARCELS_2014","kind":"Not + specified"}],"languages":["eng"],"links":[{"url":"https://cdn.dev1.mitlibrary.net/geo/public/SDE_DATA_US_MA_BOSTON_G47PARCELS_2014.source.fgdc.xml","kind":"Download","text":"Source + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/public/SDE_DATA_US_MA_BOSTON_G47PARCELS_2014.normalized.aardvark.json","kind":"Download","text":"Normalized + Metadata"},{"url":"https://cdn.dev1.mitlibrary.net/geo/restricted/SDE_DATA_US_MA_BOSTON_G47PARCELS_2014.zip","kind":"Download","text":"Data + Zipfile"}],"locations":[{"kind":"Bounding Box","geoshape":"BBOX (-71.191182, + -70.922635, 42.397678, 42.227005)"},{"kind":"Geometry","geoshape":"BBOX (-71.191182, + -70.922635, 42.397678, 42.227005)"}],"publication_information":["Boston (Mass.) + Assessing Department","GIS Lab, MIT Libraries"],"rights":[{"description":"Restricted","kind":"Access"},{"description":"N/A"}],"subjects":[{"value":["Economy"],"kind":"DCAT; + Theme"},{"value":["Boundaries"],"kind":"DCAT; Theme"},{"value":["Location"],"kind":"DCAT; + Theme"},{"value":["Massachusetts--Boston"],"kind":"Dublin Core; Spatial"},{"value":["Land + use"],"kind":"Dublin Core; Subject"},{"value":["Neighborhoods"],"kind":"Dublin + Core; Subject"},{"value":["Administrative and political divisions"],"kind":"Dublin + Core; Subject"},{"value":["Land value taxation"],"kind":"Dublin Core; Subject"},{"value":["Land + tenure"],"kind":"Dublin Core; Subject"},{"value":["economy"],"kind":"Dublin + Core; Subject"},{"value":["planningCadastre"],"kind":"Dublin Core; Subject"},{"value":["boundaries"],"kind":"Dublin + Core; Subject"},{"value":["location"],"kind":"Dublin Core; Subject"},{"value":["Datasets"],"kind":"Subject + scheme not provided"},{"value":["G-polygon"],"kind":"Subject scheme not provided"}],"summary":["City + of Boston property parcel data from FY 2014 was joined with parcel boundaries + from FY 2014. All data is from the City of Boston Assessor''s office and represents + data from 2013."]},"sort":[1.0,1388534400000]}]},"aggregations":{"languages":{"doc_count_error_upper_bound":0,"sum_other_doc_count":0,"buckets":[{"key":"eng","doc_count":1431}]},"content_type":{"doc_count_error_upper_bound":0,"sum_other_doc_count":0,"buckets":[{"key":"geospatial + data","doc_count":1449}]},"subjects":{"doc_count":12404,"subject_names":{"doc_count_error_upper_bound":0,"sum_other_doc_count":6798,"buckets":[{"key":"datasets","doc_count":1449},{"key":"boundaries","doc_count":880},{"key":"g-polygon","doc_count":772},{"key":"transportation","doc_count":530},{"key":"entity + point","doc_count":418},{"key":"location","doc_count":410},{"key":"society","doc_count":376},{"key":"united + states","doc_count":278},{"key":"structure","doc_count":252},{"key":"string","doc_count":241}]}},"content_format":{"doc_count_error_upper_bound":0,"sum_other_doc_count":0,"buckets":[{"key":"vector","doc_count":1427},{"key":"point","doc_count":18},{"key":"raster","doc_count":4}]},"literary_form":{"doc_count_error_upper_bound":0,"sum_other_doc_count":0,"buckets":[]},"source":{"doc_count_error_upper_bound":0,"sum_other_doc_count":0,"buckets":[{"key":"mit + gis resources","doc_count":1449}]},"contributors":{"doc_count":1745,"contributor_names":{"doc_count_error_upper_bound":0,"sum_other_doc_count":849,"buckets":[{"key":"environmental + systems research institute (redlands, calif.)","doc_count":163},{"key":"massgis + (office : mass.)","doc_count":134},{"key":"latin force group llc","doc_count":112},{"key":"esri","doc_count":91},{"key":"city + of cambridge gis","doc_count":82},{"key":"platts","doc_count":80},{"key":"gfk + geomarketing gmbh","doc_count":66},{"key":"tele atlas b.v.","doc_count":61},{"key":"new + york (n.y.). department of city planning","doc_count":55},{"key":"snohomish + county geographic information system (gis), dept. of information services","doc_count":52}]}}}}' + recorded_at: Wed, 14 Feb 2024 16:37:54 GMT +recorded_with: VCR 6.2.0 diff --git a/test/vcr_cassettes/graphqlv2_geobox_with_geodistance.yml b/test/vcr_cassettes/graphqlv2_geobox_with_geodistance.yml new file mode 100644 index 00000000..b4fde1b9 --- /dev/null +++ b/test/vcr_cassettes/graphqlv2_geobox_with_geodistance.yml @@ -0,0 +1,32 @@ +--- +http_interactions: +- request: + method: post + uri: http://localhost:9200/timdex-prod/_search + body: + encoding: UTF-8 + string: '{"from":"0","size":20,"query":{"bool":{"should":null,"must":[{"bool":{"must":{"match_all":{}},"filter":{"geo_distance":{"distance":"100000km","locations.geoshape":{"lat":0.0,"lon":0.0}}}}},{"bool":{"must":{"match_all":{}},"filter":{"geo_bounding_box":{"locations.geoshape":{"top":42.886,"bottom":41.239,"left":-73.507,"right":-69.928}}}}}],"filter":[]}},"aggregations":{"contributors":{"nested":{"path":"contributors"},"aggs":{"contributor_names":{"terms":{"field":"contributors.value.keyword"}}}},"content_type":{"terms":{"field":"content_type"}},"content_format":{"terms":{"field":"format"}},"languages":{"terms":{"field":"languages.keyword"}},"literary_form":{"terms":{"field":"literary_form"}},"source":{"terms":{"field":"source"}},"subjects":{"nested":{"path":"subjects"},"aggs":{"subject_names":{"terms":{"field":"subjects.value.keyword"}}}}},"sort":[{"_score":{"order":"desc"}},{"dates.value.as_date":{"order":"desc","nested":{"path":"dates"}}}]}' + headers: + User-Agent: + - 'opensearch-ruby/3.1.0 (RUBY_VERSION: 3.2.2; darwin arm64; Faraday v2.9.0)' + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=UTF-8 + Content-Length: + - '57546' + body: + encoding: ASCII-8BIT + string: !binary |- + eyJ0b29rIjo1NCwidGltZWRfb3V0IjpmYWxzZSwiX3NoYXJkcyI6eyJ0b3RhbCI6MSwic3VjY2Vzc2Z1bCI6MSwic2tpcHBlZCI6MCwiZmFpbGVkIjowfSwiaGl0cyI6eyJ0b3RhbCI6eyJ2YWx1ZSI6ODI1LCJyZWxhdGlvbiI6ImVxIn0sIm1heF9zY29yZSI6bnVsbCwiaGl0cyI6W3siX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6dXNfbWFfYm9zdG9uX2c0N3BhcmNlbHNfMjAxOCIsIl9zY29yZSI6Mi4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OnVzX21hX2Jvc3Rvbl9nNDdwYXJjZWxzXzIwMTgiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OnVzX21hX2Jvc3Rvbl9nNDdwYXJjZWxzXzIwMTgiLCJ0aXRsZSI6IkJvc3RvbiwgTUEgKExhbmQgcGFyY2VscywgMjAxOCkiLCJjaXRhdGlvbiI6IkNpdHkgb2YgQm9zdG9uIEFzc2Vzc2luZyBEZXBhcnRtZW50LiBCb3N0b24sIE1BIChMYW5kIHBhcmNlbHMsIDIwMTgpLiBHSVMgTGFiLCBNSVQgTGlicmFyaWVzLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6dXNfbWFfYm9zdG9uX2c0N3BhcmNlbHNfMjAxOCIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6IkNpdHkgb2YgQm9zdG9uIEFzc2Vzc2luZyBEZXBhcnRtZW50Iiwia2luZCI6IkNyZWF0b3IifV0sImRhdGVzIjpbeyJraW5kIjoiSXNzdWVkIiwidmFsdWUiOiIyMDE4LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTUtMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxNSJ9XSwiZm9ybWF0IjoiVmVjdG9yIiwiaWRlbnRpZmllcnMiOlt7InZhbHVlIjoidXNfbWFfYm9zdG9uX2c0N3BhcmNlbHNfMjAxOCIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn1dLCJsYW5ndWFnZXMiOlsiZW5nIl0sImxpbmtzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvdXNfbWFfYm9zdG9uX2c0N3BhcmNlbHNfMjAxOC5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvdXNfbWFfYm9zdG9uX2c0N3BhcmNlbHNfMjAxOC5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcmVzdHJpY3RlZC91c19tYV9ib3N0b25fZzQ3cGFyY2Vsc18yMDE4LnppcCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJEYXRhIFppcGZpbGUifV0sImxvY2F0aW9ucyI6W3sia2luZCI6IkJvdW5kaW5nIEJveCIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjE5MDkxMywgLTcwLjg2ODY1NCwgNDIuMzk3MDEyLCA0Mi4yMjc4NjQpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC03MS4xOTA5MTMsIC03MC44Njg2NTQsIDQyLjM5NzAxMiwgNDIuMjI3ODY0KSJ9XSwicHVibGljYXRpb25faW5mb3JtYXRpb24iOlsiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifSx7ImRlc2NyaXB0aW9uIjoiTi9BIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiRWNvbm9teSJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIkJvdW5kYXJpZXMiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJMb2NhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMtLUJvc3RvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIkxhbmQgdXNlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiTmVpZ2hib3Job29kcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkFkbWluaXN0cmF0aXZlIGFuZCBwb2xpdGljYWwgZGl2aXNpb25zIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiTGFuZCB2YWx1ZSB0YXhhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkxhbmQgdGVudXJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiZWNvbm9teSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbInBsYW5uaW5nQ2FkYXN0cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJib3VuZGFyaWVzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsibG9jYXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJEYXRhc2V0cyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn0seyJ2YWx1ZSI6WyJHLXBvbHlnb24iXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9XSwic3VtbWFyeSI6WyJDaXR5IG9mIEJvc3RvbiBwcm9wZXJ0eSBwYXJjZWwgZGF0YSBmcm9tIEZZIDIwMTggd2FzIGpvaW5lZCB3aXRoIHBhcmNlbCBib3VuZGFyaWVzIGZyb20gRlkgMjAxOC4gQWxsIGRhdGEgaXMgZnJvbSB0aGUgQ2l0eSBvZiBCb3N0b24gQXNzZXNzb3IncyBvZmZpY2UgYW5kIHJlcHJlc2VudHMgZGF0YSBmcm9tIDIwMTcuIl19LCJzb3J0IjpbMi4wLDE1MTQ3NjQ4MDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OnVzX21hX2Jvc3Rvbl9nNDdwYXJjZWxzXzIwMTciLCJfc2NvcmUiOjIuMCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDp1c19tYV9ib3N0b25fZzQ3cGFyY2Vsc18yMDE3IiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDp1c19tYV9ib3N0b25fZzQ3cGFyY2Vsc18yMDE3IiwidGl0bGUiOiJCb3N0b24sIE1BIChMYW5kIHBhcmNlbHMsIDIwMTcpIiwiY2l0YXRpb24iOiJDaXR5IG9mIEJvc3RvbiBBc3Nlc3NpbmcgRGVwYXJ0bWVudC4gQm9zdG9uLCBNQSAoTGFuZCBwYXJjZWxzLCAyMDE3KS4gR0lTIExhYiwgTUlUIExpYnJhcmllcy4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OnVzX21hX2Jvc3Rvbl9nNDdwYXJjZWxzXzIwMTciLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJDaXR5IG9mIEJvc3RvbiBBc3Nlc3NpbmcgRGVwYXJ0bWVudCIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAxNy0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDE3LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTcifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6InVzX21hX2Jvc3Rvbl9nNDdwYXJjZWxzXzIwMTciLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL3VzX21hX2Jvc3Rvbl9nNDdwYXJjZWxzXzIwMTcuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL3VzX21hX2Jvc3Rvbl9nNDdwYXJjZWxzXzIwMTcubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvdXNfbWFfYm9zdG9uX2c0N3BhcmNlbHNfMjAxNy56aXAiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiRGF0YSBaaXBmaWxlIn1dLCJsb2NhdGlvbnMiOlt7ImtpbmQiOiJCb3VuZGluZyBCb3giLCJnZW9zaGFwZSI6IkJCT1ggKC03MS4xOTA5MTMsIC03MC45MjMwNTUsIDQyLjM5NzAwNCwgNDIuMjI3ODU2KSJ9LHsia2luZCI6Ikdlb21ldHJ5IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTkwOTEzLCAtNzAuOTIzMDU1LCA0Mi4zOTcwMDQsIDQyLjIyNzg1NikifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlJlc3RyaWN0ZWQiLCJraW5kIjoiQWNjZXNzIn0seyJkZXNjcmlwdGlvbiI6Ik4vQSJ9XSwic3ViamVjdHMiOlt7InZhbHVlIjpbIkVjb25vbXkiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJCb3VuZGFyaWVzIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiTG9jYXRpb24iXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJNYXNzYWNodXNldHRzLS1Cb3N0b24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJMYW5kIHVzZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIk5laWdoYm9yaG9vZHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJBZG1pbmlzdHJhdGl2ZSBhbmQgcG9saXRpY2FsIGRpdmlzaW9ucyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkxhbmQgdmFsdWUgdGF4YXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJMYW5kIHRlbnVyZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImVjb25vbXkiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJwbGFubmluZ0NhZGFzdHJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiYm91bmRhcmllcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImxvY2F0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRy1wb2x5Z29uIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiQ2l0eSBvZiBCb3N0b24gcHJvcGVydHkgcGFyY2VsIGRhdGEgZnJvbSBGWSAyMDE3IHdhcyBqb2luZWQgd2l0aCBwYXJjZWwgYm91bmRhcmllcyBmcm9tIEZZIDIwMTcuIEFsbCBkYXRhIGlzIGZyb20gdGhlIENpdHkgb2YgQm9zdG9uIEFzc2Vzc29yJ3Mgb2ZmaWNlIGFuZCByZXByZXNlbnRzIGRhdGEgZnJvbSAyMDE2LiJdfSwic29ydCI6WzIuMCwxNDgzMjI4ODAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpVU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDE2IiwiX3Njb3JlIjoyLjAsIl9zb3VyY2UiOnsic291cmNlIjoiTUlUIEdJUyBSZXNvdXJjZXMiLCJzb3VyY2VfbGluayI6Imh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6VVNfTUFfQk9TVE9OX0c0N1BBUkNFTFNfMjAxNiIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6VVNfTUFfQk9TVE9OX0c0N1BBUkNFTFNfMjAxNiIsInRpdGxlIjoiQm9zdG9uLCBNQSAoTGFuZCBwYXJjZWxzLCAyMDE2KSIsImNpdGF0aW9uIjoiQ2l0eSBvZiBCb3N0b24gQXNzZXNzaW5nIERlcGFydG1lbnQuIEJvc3RvbiwgTUEgKExhbmQgcGFyY2VscywgMjAxNikuIEdJUyBMYWIsIE1JVCBMaWJyYXJpZXMuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpVU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDE2IiwiY29udGVudF90eXBlIjpbIkdlb3NwYXRpYWwgZGF0YSJdLCJjb250cmlidXRvcnMiOlt7InZhbHVlIjoiQ2l0eSBvZiBCb3N0b24gQXNzZXNzaW5nIERlcGFydG1lbnQiLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMTctMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxNi0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDE2In1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJ1c19tYV9ib3N0b25fZzQ3cGFyY2Vsc18yMDE2Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDE2LnNvdXJjZS5mZ2RjLnhtbCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJTb3VyY2UgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDE2Lm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9yZXN0cmljdGVkL1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTYuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTkwOTEzLCAtNzAuOTIzMDU1LCA0Mi4zOTcwMDQsIDQyLjIyNzg1NikifSx7ImtpbmQiOiJHZW9tZXRyeSIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjE5MDkxMywgLTcwLjkyMzA1NSwgNDIuMzk3MDA0LCA0Mi4yMjc4NTYpIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJHSVMgTGFiLCBNSVQgTGlicmFyaWVzIl0sInJpZ2h0cyI6W3siZGVzY3JpcHRpb24iOiJSZXN0cmljdGVkIiwia2luZCI6IkFjY2VzcyJ9LHsiZGVzY3JpcHRpb24iOiJOL0EifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJFY29ub215Il0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiQm91bmRhcmllcyJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIkxvY2F0aW9uIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiQm9zdG9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiVVNBIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiTWFzc2FjaHVzZXR0cyJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIk1BIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsicGFyY2VscyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImxhbmQgcGFyY2VscyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImxhbmQgdXNlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsid2FyZHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJwb2x5Z29uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsidGF4Il0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsibGFuZCBvd25lcnNoaXAiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJpbXByb3ZlbWVudHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJuZWlnaGJvcmhvb2RzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsibG90IHNpemUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJlY29ub215Il0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsicGxhbm5pbmdDYWRhc3RyZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImJvdW5kYXJpZXMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJsb2NhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkctcG9seWdvbiJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIkNpdHkgb2YgQm9zdG9uIHByb3BlcnR5IHBhcmNlbCBkYXRhIGZyb20gRlkgMjAxNiB3YXMgam9pbmVkIHdpdGggcGFyY2VsIGJvdW5kYXJpZXMgZnJvbSBGWSAyMDE2LiBBbGwgZGF0YSBpcyBmcm9tIHRoZSBDaXR5IG9mIEJvc3RvbiBBc3Nlc3NvcidzIG9mZmljZSBhbmQgcmVwcmVzZW50cyBkYXRhIGZyb20gMjAxNS4iXX0sInNvcnQiOlsyLjAsMTQ4MzIyODgwMDAwMF19LHsiX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6VVNfTUFfQk9TVE9OX0c0N1BBUkNFTFNfMjAxNSIsIl9zY29yZSI6Mi4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlVTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTUiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlVTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTUiLCJ0aXRsZSI6IkJvc3RvbiwgTUEgKExhbmQgcGFyY2VscywgMjAxNSkiLCJjaXRhdGlvbiI6IkNpdHkgb2YgQm9zdG9uIEFzc2Vzc2luZyBEZXBhcnRtZW50LiBCb3N0b24sIE1BIChMYW5kIHBhcmNlbHMsIDIwMTUpLiBDaXR5IG9mIEJvc3RvbiBBc3Nlc3NpbmcgRGVwYXJ0bWVudC4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlVTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTUiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJDaXR5IG9mIEJvc3RvbiBBc3Nlc3NpbmcgRGVwYXJ0bWVudCIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAxNS0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDE1LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTUifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6InVzX21hX2Jvc3Rvbl9nNDdwYXJjZWxzXzIwMTUiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTUuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTUubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvVVNfTUFfQk9TVE9OX0c0N1BBUkNFTFNfMjAxNS56aXAiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiRGF0YSBaaXBmaWxlIn1dLCJsb2NhdGlvbnMiOlt7ImtpbmQiOiJCb3VuZGluZyBCb3giLCJnZW9zaGFwZSI6IkJCT1ggKC03MS4xOTA5MTMsIC03MC45NTMxODQsIDQyLjM5NzAxMiwgNDIuMjI3ODY0KSJ9LHsia2luZCI6Ikdlb21ldHJ5IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTkwOTEzLCAtNzAuOTUzMTg0LCA0Mi4zOTcwMTIsIDQyLjIyNzg2NCkifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkNpdHkgb2YgQm9zdG9uIEFzc2Vzc2luZyBEZXBhcnRtZW50IiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifSx7ImRlc2NyaXB0aW9uIjoiTi9BIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiRWNvbm9teSJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIkJvdW5kYXJpZXMiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJMb2NhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIkJvc3RvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIlVTQSJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJNQSJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbInBhcmNlbHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJsYW5kIHBhcmNlbHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJsYW5kIHVzZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIndhcmRzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsicG9seWdvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbInRheCJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImxhbmQgb3duZXJzaGlwIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiaW1wcm92ZW1lbnRzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsibmVpZ2hib3Job29kcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImxvdCBzaXplIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiZWNvbm9teSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbInBsYW5uaW5nQ2FkYXN0cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJib3VuZGFyaWVzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsibG9jYXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJEYXRhc2V0cyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn0seyJ2YWx1ZSI6WyJHLXBvbHlnb24iXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9XSwic3VtbWFyeSI6WyJDaXR5IG9mIEJvc3RvbiBwcm9wZXJ0eSBwYXJjZWwgZGF0YSBmcm9tIEZZIDIwMTUgd2FzIGpvaW5lZCB3aXRoIHBhcmNlbCBib3VuZGFyaWVzIGZyb20gRlkgMjAxNS4gQWxsIGRhdGEgaXMgZnJvbSB0aGUgQ2l0eSBvZiBCb3N0b24gQXNzZXNzb3IncyBvZmZpY2UgYW5kIHJlcHJlc2VudHMgZGF0YSBmcm9tIDIwMTQuIl19LCJzb3J0IjpbMi4wLDE0MjAwNzA0MDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OlNERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TM0dfMjAxNCIsIl9zY29yZSI6Mi4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TM0dfMjAxNCIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfSU5UX1A5NElOQ0xVU0lPTlMzR18yMDE0IiwidGl0bGUiOiJXb3JsZCAoM0cgTW9iaWxlIFBob25lIENvdmVyYWdlIEluY2x1c2lvbiwgMjAxNCkiLCJjaXRhdGlvbiI6IkNvbGxpbnMgQmFydGhvbG9tZXcuIFdvcmxkICgzRyBNb2JpbGUgUGhvbmUgQ292ZXJhZ2UgSW5jbHVzaW9uLCAyMDE0KS4gQ29sbGlucyBCYXJ0aG9sb21ldy4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TM0dfMjAxNCIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6IkNvbGxpbnMgQmFydGhvbG9tZXciLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMTQtMTItMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxNC0xMi0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDE0In1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJJTlRfUDk0SU5DTFVTSU9OUzNHXzIwMTQiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TM0dfMjAxNC5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfSU5UX1A5NElOQ0xVU0lPTlMzR18yMDE0Lm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9yZXN0cmljdGVkL1NERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TM0dfMjAxNC56aXAiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiRGF0YSBaaXBmaWxlIn1dLCJsb2NhdGlvbnMiOlt7ImtpbmQiOiJCb3VuZGluZyBCb3giLCJnZW9zaGFwZSI6IkJCT1ggKC0xNTAuMDAwMDAwLCAxNzcuOTcyMDAwLCA2NC43OTM0MDQsIC00MC4wMDAwMDApIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xNTAuMDAwMDAwLCAxNzcuOTcyMDAwLCA2NC43OTM0MDQsIC00MC4wMDAwMDApIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJDb2xsaW5zIEJhcnRob2xvbWV3IiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJFYXJ0aCAoUGxhbmV0KSJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbInV0aWxpdGllc0NvbW11bmljYXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJQdWJsaWMgdXRpbGl0aWVzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRW50aXR5IHBvaW50Il0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiVGhlc2UgaW5jbHVzaW9uIG1ldGFkYXRhIGZpbGVzIGZvciBHU00sIDNHLCBhbmQgNEcgbW9iaWxlIGNvdmVyYWdlIGFyZSBhbiBhdHRlbXB0IGF0IGxpc3RpbmcgYWxsIHRoZSBuZXR3b3JrcyB3aGljaCBhcmUgaW5jbHVkZWQgaW4gdGhlIHNlcGFyYXRlIHdvcmxkIG1vYmlsZSBwaG9uZSBjb3ZlcmFnZSBkYXRhc2V0cy4gVW5mb3J0dW5hdGVseSB0aGUgbGlzdHMgY2Fubm90IGJlIGNvbXByZWhlbnNpdmUgYmVjYXVzZSBsZWdhY3kgZGF0YXNldHMgZGlkIG5vdCBtYWludGFpbiB0aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gbWFrZSB0aGVtIGNvbXBsZXRlLiJdfSwic29ydCI6WzIuMCwxNDE3MzkyMDAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9JTlRfUDk0SU5DTFVTSU9OUzRHXzIwMTQiLCJfc2NvcmUiOjIuMCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9JTlRfUDk0SU5DTFVTSU9OUzRHXzIwMTQiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TNEdfMjAxNCIsInRpdGxlIjoiV29ybGQgKDRHIE1vYmlsZSBQaG9uZSBDb3ZlcmFnZSBJbmNsdXNpb24sIDIwMTQpIiwiY2l0YXRpb24iOiJDb2xsaW5zIEJhcnRob2xvbWV3LiBXb3JsZCAoNEcgTW9iaWxlIFBob25lIENvdmVyYWdlIEluY2x1c2lvbiwgMjAxNCkuIENvbGxpbnMgQmFydGhvbG9tZXcuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9JTlRfUDk0SU5DTFVTSU9OUzRHXzIwMTQiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJDb2xsaW5zIEJhcnRob2xvbWV3Iiwia2luZCI6IkNyZWF0b3IifV0sImRhdGVzIjpbeyJraW5kIjoiSXNzdWVkIiwidmFsdWUiOiIyMDE0LTEyLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTQtMTItMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxNCJ9XSwiZm9ybWF0IjoiVmVjdG9yIiwiaWRlbnRpZmllcnMiOlt7InZhbHVlIjoiSU5UX1A5NElOQ0xVU0lPTlM0R18yMDE0Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9JTlRfUDk0SU5DTFVTSU9OUzRHXzIwMTQuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TNEdfMjAxNC5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcmVzdHJpY3RlZC9TREVfREFUQV9JTlRfUDk0SU5DTFVTSU9OUzRHXzIwMTQuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTAwLjAwMDAwMCwgMTcwLjQ4MTA3MCwgNjQuNTE4Nzg0LCAtNDAuMDAwMDAwKSJ9LHsia2luZCI6Ikdlb21ldHJ5IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTAwLjAwMDAwMCwgMTcwLjQ4MTA3MCwgNjQuNTE4Nzg0LCAtNDAuMDAwMDAwKSJ9XSwicHVibGljYXRpb25faW5mb3JtYXRpb24iOlsiQ29sbGlucyBCYXJ0aG9sb21ldyIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlJlc3RyaWN0ZWQiLCJraW5kIjoiQWNjZXNzIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiRWFydGggKFBsYW5ldCkiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJ1dGlsaXRpZXNDb21tdW5pY2F0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiUHVibGljIHV0aWxpdGllcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkVudGl0eSBwb2ludCJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIlRoZXNlIGluY2x1c2lvbiBtZXRhZGF0YSBmaWxlcyBmb3IgR1NNLCAzRywgYW5kIDRHIG1vYmlsZSBjb3ZlcmFnZSBhcmUgYW4gYXR0ZW1wdCBhdCBsaXN0aW5nIGFsbCB0aGUgbmV0d29ya3Mgd2hpY2ggYXJlIGluY2x1ZGVkIGluIHRoZSBzZXBhcmF0ZSB3b3JsZCBtb2JpbGUgcGhvbmUgY292ZXJhZ2UgZGF0YXNldHMuIFVuZm9ydHVuYXRlbHkgdGhlIGxpc3RzIGNhbm5vdCBiZSBjb21wcmVoZW5zaXZlIGJlY2F1c2UgbGVnYWN5IGRhdGFzZXRzIGRpZCBub3QgbWFpbnRhaW4gdGhlIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIG1ha2UgdGhlbSBjb21wbGV0ZS4iXX0sInNvcnQiOlsyLjAsMTQxNzM5MjAwMDAwMF19LHsiX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfSU5UX1A5NDRHXzIwMTQiLCJfc2NvcmUiOjIuMCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9JTlRfUDk0NEdfMjAxNCIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfSU5UX1A5NDRHXzIwMTQiLCJ0aXRsZSI6IldvcmxkICg0RyBNb2JpbGUgUGhvbmUgQ292ZXJhZ2UsIDIwMTQpIiwiY2l0YXRpb24iOiJDb2xsaW5zIEJhcnRob2xvbWV3LiBXb3JsZCAoNEcgTW9iaWxlIFBob25lIENvdmVyYWdlLCAyMDE0KS4gQ29sbGlucyBCYXJ0aG9sb21ldy4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX0lOVF9QOTQ0R18yMDE0IiwiY29udGVudF90eXBlIjpbIkdlb3NwYXRpYWwgZGF0YSJdLCJjb250cmlidXRvcnMiOlt7InZhbHVlIjoiQ29sbGlucyBCYXJ0aG9sb21ldyIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAxNC0xMi0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDE0LTEyLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTQifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IklOVF9QOTQ0R18yMDE0Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9JTlRfUDk0NEdfMjAxNC5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfSU5UX1A5NDRHXzIwMTQubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvU0RFX0RBVEFfSU5UX1A5NDRHXzIwMTQuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTM1LjM3MzE2OSwgMTc4LjE0NTk4NSwgNjguNTMyMDY2LCAtNDYuMTg2Njg0KSJ9LHsia2luZCI6Ikdlb21ldHJ5IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTM1LjM3MzE2OSwgMTc4LjE0NTk4NSwgNjguNTMyMDY2LCAtNDYuMTg2Njg0KSJ9XSwicHVibGljYXRpb25faW5mb3JtYXRpb24iOlsiQ29sbGlucyBCYXJ0aG9sb21ldyIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlJlc3RyaWN0ZWQiLCJraW5kIjoiQWNjZXNzIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiRWFydGggKFBsYW5ldCkiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJ1dGlsaXRpZXNDb21tdW5pY2F0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiUHVibGljIHV0aWxpdGllcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkctcG9seWdvbiJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIkNvbGxpbnMgTW9iaWxlIENvdmVyYWdlIEV4cGxvcmVyIGlzIGEgcmVwcmVzZW50YXRpb24gb2YgdGhlIGFyZWEgY292ZXJlZCBieSBtb2JpbGUgY29tbXVuaWNhdGlvbnMgYXJvdW5kIHRoZSB3b3JsZC4gVGhlIGRhdGEgaXMgY3JlYXRlZCBmcm9tIHN1Ym1pc3Npb25zLCBtYWRlIGRpcmVjdGx5IHRvIENvbGxpbnMgQmFydGhvbG9tZXcgb3IgdGhlIEdTTUEgZnJvbSBtb2JpbGUgb3BlcmF0b3JzLCB3aGljaCBwcm92aWRlIHJvYW1pbmcgZGV0YWlsIGZvciBpbmNsdXNpb24gaW4gdGhlIG9ubGluZSBtYXBwaW5nIGFwcGxpY2F0aW9uIGtub3duIGFzIENvbGxpbnMgTW9iaWxlIENvdmVyYWdlIFdlYi4iXX0sInNvcnQiOlsyLjAsMTQxNzM5MjAwMDAwMF19LHsiX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfSU5UX1A5NElOQ0xVU0lPTlNHU01fMjAxNCIsIl9zY29yZSI6Mi4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TR1NNXzIwMTQiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TR1NNXzIwMTQiLCJ0aXRsZSI6IldvcmxkIChHU00gTW9iaWxlIFBob25lIENvdmVyYWdlIEluY2x1c2lvbiwgMjAxNCkiLCJjaXRhdGlvbiI6IkNvbGxpbnMgQmFydGhvbG9tZXcuIFdvcmxkIChHU00gTW9iaWxlIFBob25lIENvdmVyYWdlIEluY2x1c2lvbiwgMjAxNCkuIENvbGxpbnMgQmFydGhvbG9tZXcuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9JTlRfUDk0SU5DTFVTSU9OU0dTTV8yMDE0IiwiY29udGVudF90eXBlIjpbIkdlb3NwYXRpYWwgZGF0YSJdLCJjb250cmlidXRvcnMiOlt7InZhbHVlIjoiQ29sbGlucyBCYXJ0aG9sb21ldyIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAxNC0xMi0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDE0LTEyLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTQifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IklOVF9QOTRJTkNMVVNJT05TR1NNXzIwMTQiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TR1NNXzIwMTQuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX0lOVF9QOTRJTkNMVVNJT05TR1NNXzIwMTQubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvU0RFX0RBVEFfSU5UX1A5NElOQ0xVU0lPTlNHU01fMjAxNC56aXAiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiRGF0YSBaaXBmaWxlIn1dLCJsb2NhdGlvbnMiOlt7ImtpbmQiOiJCb3VuZGluZyBCb3giLCJnZW9zaGFwZSI6IkJCT1ggKC0xODAuMDAwMDAwLCAxNzcuOTcyMDAwLCA3NC43ODYwNDksIC01MC4wMDAwMDApIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xODAuMDAwMDAwLCAxNzcuOTcyMDAwLCA3NC43ODYwNDksIC01MC4wMDAwMDApIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJDb2xsaW5zIEJhcnRob2xvbWV3IiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJFYXJ0aCAoUGxhbmV0KSJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbInV0aWxpdGllc0NvbW11bmljYXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJDZWxsIHBob25lcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkVudGl0eSBwb2ludCJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIlRoZXNlIGluY2x1c2lvbiBtZXRhZGF0YSBmaWxlcyBmb3IgR1NNLCAzRywgYW5kIDRHIG1vYmlsZSBjb3ZlcmFnZSBhcmUgYW4gYXR0ZW1wdCBhdCBsaXN0aW5nIGFsbCB0aGUgbmV0d29ya3Mgd2hpY2ggYXJlIGluY2x1ZGVkIGluIHRoZSBzZXBhcmF0ZSB3b3JsZCBtb2JpbGUgcGhvbmUgY292ZXJhZ2UgZGF0YXNldHMuIFVuZm9ydHVuYXRlbHkgdGhlIGxpc3RzIGNhbm5vdCBiZSBjb21wcmVoZW5zaXZlIGJlY2F1c2UgbGVnYWN5IGRhdGFzZXRzIGRpZCBub3QgbWFpbnRhaW4gdGhlIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIG1ha2UgdGhlbSBjb21wbGV0ZS4iXX0sInNvcnQiOlsyLjAsMTQxNzM5MjAwMDAwMF19LHsiX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfVVNfTUFfQk9TVE9OX0c0N1BBUkNFTFNfMjAxNCIsIl9zY29yZSI6Mi4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTQiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTQiLCJ0aXRsZSI6IkJvc3RvbiwgTUEgKExhbmQgUGFyY2VscywgMjAxNCkiLCJjaXRhdGlvbiI6IkJvc3RvbiAoTWFzcy4pIEFzc2Vzc2luZyBEZXBhcnRtZW50LiBCb3N0b24sIE1BIChMYW5kIFBhcmNlbHMsIDIwMTQpLiBCb3N0b24gKE1hc3MuKSBBc3Nlc3NpbmcgRGVwYXJ0bWVudC4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTQiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJCb3N0b24gKE1hc3MuKSBBc3Nlc3NpbmcgRGVwYXJ0bWVudCIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAxNC0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDE0LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTQifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IlVTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTQiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTQuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTQubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvU0RFX0RBVEFfVVNfTUFfQk9TVE9OX0c0N1BBUkNFTFNfMjAxNC56aXAiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiRGF0YSBaaXBmaWxlIn1dLCJsb2NhdGlvbnMiOlt7ImtpbmQiOiJCb3VuZGluZyBCb3giLCJnZW9zaGFwZSI6IkJCT1ggKC03MS4xOTExODIsIC03MC45MjI2MzUsIDQyLjM5NzY3OCwgNDIuMjI3MDA1KSJ9LHsia2luZCI6Ikdlb21ldHJ5IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTkxMTgyLCAtNzAuOTIyNjM1LCA0Mi4zOTc2NzgsIDQyLjIyNzAwNSkifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkJvc3RvbiAoTWFzcy4pIEFzc2Vzc2luZyBEZXBhcnRtZW50IiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifSx7ImRlc2NyaXB0aW9uIjoiTi9BIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiRWNvbm9teSJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIkJvdW5kYXJpZXMiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJMb2NhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMtLUJvc3RvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIkxhbmQgdXNlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiTmVpZ2hib3Job29kcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkFkbWluaXN0cmF0aXZlIGFuZCBwb2xpdGljYWwgZGl2aXNpb25zIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiTGFuZCB2YWx1ZSB0YXhhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkxhbmQgdGVudXJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiZWNvbm9teSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbInBsYW5uaW5nQ2FkYXN0cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJib3VuZGFyaWVzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsibG9jYXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJEYXRhc2V0cyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn0seyJ2YWx1ZSI6WyJHLXBvbHlnb24iXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9XSwic3VtbWFyeSI6WyJDaXR5IG9mIEJvc3RvbiBwcm9wZXJ0eSBwYXJjZWwgZGF0YSBmcm9tIEZZIDIwMTQgd2FzIGpvaW5lZCB3aXRoIHBhcmNlbCBib3VuZGFyaWVzIGZyb20gRlkgMjAxNC4gQWxsIGRhdGEgaXMgZnJvbSB0aGUgQ2l0eSBvZiBCb3N0b24gQXNzZXNzb3IncyBvZmZpY2UgYW5kIHJlcHJlc2VudHMgZGF0YSBmcm9tIDIwMTMuIl19LCJzb3J0IjpbMi4wLDEzODg1MzQ0MDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTMiLCJfc2NvcmUiOjIuMCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDEzIiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDEzIiwidGl0bGUiOiJCb3N0b24sIE1BIChMYW5kIFBhcmNlbHMsIDIwMTMpIiwiY2l0YXRpb24iOiJCb3N0b24gKE1hc3MpLiBBc3Nlc3NpbmcgRGVwYXJ0bWVudC4gQm9zdG9uLCBNQSAoTGFuZCBQYXJjZWxzLCAyMDEzKS4gQm9zdG9uIChNYXNzLikgQXNzZXNzaW5nIERlcGFydG1lbnQuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDEzIiwiY29udGVudF90eXBlIjpbIkdlb3NwYXRpYWwgZGF0YSJdLCJjb250cmlidXRvcnMiOlt7InZhbHVlIjoiQm9zdG9uIChNYXNzKS4gQXNzZXNzaW5nIERlcGFydG1lbnQiLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMTMtMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxMy0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDEzIn1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJVU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDEzIiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDEzLnNvdXJjZS5mZ2RjLnhtbCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJTb3VyY2UgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDEzLm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9yZXN0cmljdGVkL1NERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTMuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTkxMTgyLCAtNzAuOTIyNjM1LCA0Mi4zOTc2NzgsIDQyLjIyNzAwNSkifSx7ImtpbmQiOiJHZW9tZXRyeSIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjE5MTE4MiwgLTcwLjkyMjYzNSwgNDIuMzk3Njc4LCA0Mi4yMjcwMDUpIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJCb3N0b24gKE1hc3MuKSBBc3Nlc3NpbmcgRGVwYXJ0bWVudCIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlJlc3RyaWN0ZWQiLCJraW5kIjoiQWNjZXNzIn0seyJkZXNjcmlwdGlvbiI6Ik4vQSJ9XSwic3ViamVjdHMiOlt7InZhbHVlIjpbIkVjb25vbXkiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJCb3VuZGFyaWVzIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiTG9jYXRpb24iXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJNYXNzYWNodXNldHRzLS1Cb3N0b24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJMYW5kIHVzZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIk5laWdoYm9yaG9vZHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJBZG1pbmlzdHJhdGl2ZSBhbmQgcG9saXRpY2FsIGRpdmlzaW9ucyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkxhbmQgdmFsdWUgdGF4YXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJMYW5kIHRlbnVyZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbInBsYW5uaW5nQ2FkYXN0cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJlY29ub215Il0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiYm91bmRhcmllcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImxvY2F0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRy1wb2x5Z29uIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiQ2l0eSBvZiBCb3N0b24gcHJvcGVydHkgcGFyY2VsIGRhdGEgZnJvbSBGWSAyMDEzIHdhcyBqb2luZWQgd2l0aCBwYXJjZWwgYm91bmRhcmllcyBmcm9tIEZZIDIwMTMuIEFsbCBkYXRhIGlzIGZyb20gdGhlIENpdHkgb2YgQm9zdG9uIEFzc2Vzc29yJ3Mgb2ZmaWNlIGFuZCByZXByZXNlbnRzIGRhdGEgZnJvbSAyMDEyLiJdfSwic29ydCI6WzIuMCwxMzU2OTk4NDAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpHSVNQT1JUQUxfR0lTT1dORVIwMV9DQU1CUklER0VNRU1QT0xFUzA5IiwiX3Njb3JlIjoyLjAsIl9zb3VyY2UiOnsic291cmNlIjoiTUlUIEdJUyBSZXNvdXJjZXMiLCJzb3VyY2VfbGluayI6Imh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6R0lTUE9SVEFMX0dJU09XTkVSMDFfQ0FNQlJJREdFTUVNUE9MRVMwOSIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6R0lTUE9SVEFMX0dJU09XTkVSMDFfQ0FNQlJJREdFTUVNUE9MRVMwOSIsInRpdGxlIjoiTWVtb3JpYWwgUG9sZXMgQ2FtYnJpZGdlIE1BIDIwMDkiLCJjaXRhdGlvbiI6IkNhbWJyaWRnZSAoTWFzcy4pLiBHZW9ncmFwaGljIEluZm9ybWF0aW9uIFN5c3RlbXMuIE1lbW9yaWFsIFBvbGVzIENhbWJyaWRnZSBNQSAyMDA5LiBHSVMgTGFiLCBNSVQgTGlicmFyaWVzLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6R0lTUE9SVEFMX0dJU09XTkVSMDFfQ0FNQlJJREdFTUVNUE9MRVMwOSIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6IkNhbWJyaWRnZSAoTWFzcy4pLiBHZW9ncmFwaGljIEluZm9ybWF0aW9uIFN5c3RlbXMiLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMTItMDktMjAifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IkNhbWJyaWRnZU1lbVBvbGVzMDkiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL0dJU1BPUlRBTF9HSVNPV05FUjAxX0NBTUJSSURHRU1FTVBPTEVTMDkuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL0dJU1BPUlRBTF9HSVNPV05FUjAxX0NBTUJSSURHRU1FTVBPTEVTMDkubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9HSVNQT1JUQUxfR0lTT1dORVIwMV9DQU1CUklER0VNRU1QT0xFUzA5LnppcCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJEYXRhIFppcGZpbGUifV0sImxvY2F0aW9ucyI6W3sia2luZCI6IkJvdW5kaW5nIEJveCIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjE1Nzk1MCwgLTcxLjA3NjY2OSwgNDIuNDAyNTcyLCA0Mi4zNTUwODkpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC03MS4xNTc5NTAsIC03MS4wNzY2NjksIDQyLjQwMjU3MiwgNDIuMzU1MDg5KSJ9XSwicHVibGljYXRpb25faW5mb3JtYXRpb24iOlsiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUHVibGljIiwia2luZCI6IkFjY2VzcyJ9LHsiZGVzY3JpcHRpb24iOiJGb3IgZWR1Y2F0aW9uYWwgbm9uY29tbWVyY2lhbCB1c2Ugb25seS4ifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJTdHJ1Y3R1cmUiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJNYXNzYWNodXNldHRzLS1DYW1icmlkZ2UiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJNZW1vcmlhbHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJzdHJ1Y3R1cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJEYXRhc2V0cyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn0seyJ2YWx1ZSI6WyJFbnRpdHkgcG9pbnQiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9XSwic3VtbWFyeSI6WyJUaGlzIHBvaW50IGRhdGFzZXQgY29udGFpbnMgbWVtb3JpYWwgcG9sZXMsIG1hcmtlcnMsIGFuZCBwbGFxdWVzIGluc3RhbGxlZCBpbiBDYW1icmlkZ2UsIE1BIHRoYXQgY29tbWVtb3JhdGUgZXh0cmFvcmRpbmFyeSBjaXRpemVucyBhbmQgdGhvc2Ugd2hvIGhhdmUgZGllZCBvciBiZWVuIHJlcG9ydGVkIG1pc3NpbmcgaW4gY29tYmF0LiJdfSwic29ydCI6WzIuMCwxMzQ4MDk5MjAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9VU19NQV9DMzJGTE9PREhBWkFSRFNfMjAxMiIsIl9zY29yZSI6Mi4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX0MzMkZMT09ESEFaQVJEU18yMDEyIiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19NQV9DMzJGTE9PREhBWkFSRFNfMjAxMiIsInRpdGxlIjoiTWFzc2FjaHVzZXR0cywgVVNBIChGbG9vZCBIYXphcmRzLCAyMDEyKSIsImNpdGF0aW9uIjoiVW5pdGVkIFN0YXRlcy4gRmVkZXJhbCBFbWVyZ2VuY3kgTWFuYWdlbWVudCBBZ2VuY3kuIE1hc3NhY2h1c2V0dHMsIFVTQSAoRmxvb2QgSGF6YXJkcywgMjAxMikuIFVuaXRlZCBTdGF0ZXMuIEZlZGVyYWwgRW1lcmdlbmN5IE1hbmFnZW1lbnQgQWdlbmN5LiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfVVNfTUFfQzMyRkxPT0RIQVpBUkRTXzIwMTIiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJVbml0ZWQgU3RhdGVzLiBGZWRlcmFsIEVtZXJnZW5jeSBNYW5hZ2VtZW50IEFnZW5jeSIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAxMi0wOC0xNiJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDEyLTA4LTE2In0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTIifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IlVTX01BX0MzMkZMT09ESEFaQVJEU18yMDEyIiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxpbmtzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfTUFfQzMyRkxPT0RIQVpBUkRTXzIwMTIuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX0MzMkZMT09ESEFaQVJEU18yMDEyLm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9yZXN0cmljdGVkL1NERV9EQVRBX1VTX01BX0MzMkZMT09ESEFaQVJEU18yMDEyLnppcCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJEYXRhIFppcGZpbGUifV0sImxvY2F0aW9ucyI6W3sia2luZCI6IkJvdW5kaW5nIEJveCIsImdlb3NoYXBlIjoiQkJPWCAoLTcyLjMxNTg3OSwgLTcwLjQ0MzQ3NCwgNDIuODg2ODE4LCA0MS4yNDkyNjcpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC03Mi4zMTU4NzksIC03MC40NDM0NzQsIDQyLjg4NjgxOCwgNDEuMjQ5MjY3KSJ9XSwicHVibGljYXRpb25faW5mb3JtYXRpb24iOlsiVW5pdGVkIFN0YXRlcy4gRmVkZXJhbCBFbWVyZ2VuY3kgTWFuYWdlbWVudCBBZ2VuY3kiLCJHSVMgTGFiLCBNSVQgTGlicmFyaWVzIl0sInJpZ2h0cyI6W3siZGVzY3JpcHRpb24iOiJSZXN0cmljdGVkIiwia2luZCI6IkFjY2VzcyJ9LHsiZGVzY3JpcHRpb24iOiJObyB3YXJyYW50eSBleHByZXNzZWQgb3IgaW1wbGllZCBpcyBtYWRlIGJ5IEZFTUEgcmVnYXJkaW5nIHRoZSB1dGlsaXR5IG9mIHRoZSBkYXRhIG9uIGFueSBvdGhlciBzeXN0ZW0gbm9yIHNoYWxsIHRoZSBhY3Qgb2YgZGlzdHJpYnV0aW9uIGNvbnN0aXR1dGUgYW55IHN1Y2ggd2FycmFudHkuIEZFTUEgd2lsbCB3YXJyYW50IHRoZSBkZWxpdmVyeSBvZiB0aGlzIHByb2R1Y3QgaW4gYSBjb21wdXRlci1yZWFkYWJsZSBmb3JtYXQsIGFuZCB3aWxsIG9mZmVyIGFwcHJvcHJpYXRlIGFkanVzdG1lbnQgb2YgY3JlZGl0IHdoZW4gdGhlIHByb2R1Y3QgaXMgZGV0ZXJtaW5lZCB1bnJlYWRhYmxlIGJ5IGNvcnJlY3RseSBhZGp1c3RlZCBjb21wdXRlciBpbnB1dCBwZXJpcGhlcmFscywgb3Igd2hlbiB0aGUgcGh5c2ljYWwgbWVkaXVtIGlzIGRlbGl2ZXJlZCBpbiBkYW1hZ2VkIGNvbmRpdGlvbi4gUmVxdWVzdHMgZm9yIGFkanVzdG1lbnQgb2YgY3JlZGl0IG11c3QgYmUgbWFkZSB3aXRoaW4gOTAgZGF5cyBmcm9tIHRoZSBkYXRlIG9mIHRoaXMgc2hpcG1lbnQgZnJvbSB0aGUgb3JkZXJpbmcgc2l0ZS4ifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJFbnZpcm9ubWVudCJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIlN0cnVjdHVyZSJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIkVsZXZhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIlRyYW5zcG9ydGF0aW9uIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiTWFzc2FjaHVzZXR0cyJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbImVudmlyb25tZW50Il0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsic3RydWN0dXJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiaHlkcm9sb2d5Il0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiZWxldmF0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiaW5sYW5kV2F0ZXJzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsidHJhbnNwb3J0YXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJGbG9vZCBpbnN1cmFuY2UtLVJhdGVzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRmxvb2QgZGFtYWdlIHByZXZlbnRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJGbG9vZCBjb250cm9sLS1QbGFubmluZyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIlN0b3JtIHN1cmdlcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkdULXBvbHlnb24gY29tcG9zZWQgb2YgY2hhaW5zIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiVGhlIE5hdGlvbmFsIEZsb29kIEhhemFyZCBMYXllciAoTkZITCkgZGF0YSBpbmNvcnBvcmF0ZXMgYWxsIERpZ2l0YWwgRmxvb2QgSW5zdXJhbmNlIFJhdGUgTWFwKERGSVJNKSBkYXRhYmFzZXMgcHVibGlzaGVkIGJ5IEZFTUEsIGFuZCBhbnkgTGV0dGVycyBPZiBNYXAgUmV2aXNpb24gKExPTVJzKSB0aGF0IGhhdmUgYmVlbiBpc3N1ZWQgYWdhaW5zdCB0aG9zZSBkYXRhYmFzZXMgc2luY2UgdGhlaXIgcHVibGljYXRpb24gZGF0ZS4gVGhlIERGSVJNIERhdGFiYXNlIGlzIHRoZSBkaWdpdGFsLCBnZW9zcGF0aWFsIHZlcnNpb24gb2YgdGhlIGZsb29kIGhhemFyZCBpbmZvcm1hdGlvbiBzaG93biBvbiB0aGUgcHVibGlzaGVkIHBhcGVyIEZsb29kIEluc3VyYW5jZSBSYXRlIE1hcHMoRklSTXMpLiBUaGUgcHJpbWFyeSByaXNrIGNsYXNzaWZpY2F0aW9ucyB1c2VkIGFyZSB0aGUgMS1wZXJjZW50LWFubnVhbC1jaGFuY2UgZmxvb2QgZXZlbnQsIHRoZSAwLjItcGVyY2VudC1hbm51YWwtY2hhbmNlIGZsb29kIGV2ZW50LCBhbmQgYXJlYXMgb2YgbWluaW1hbCBmbG9vZCByaXNrLiBUaGUgTkZITCBkYXRhIGFyZSBkZXJpdmVkIGZyb20gRmxvb2QgSW5zdXJhbmNlIFN0dWRpZXMgKEZJU3MpLCBwcmV2aW91c2x5IHB1Ymxpc2hlZCBGbG9vZCBJbnN1cmFuY2UgUmF0ZSBNYXBzIChGSVJNcyksIGZsb29kIGhhemFyZCBhbmFseXNlcyBwZXJmb3JtZWQgaW4gc3VwcG9ydCBvZiB0aGUgRklTcyBhbmQgRklSTXMsIGFuZCBuZXcgbWFwcGluZyBkYXRhIHdoZXJlIGF2YWlsYWJsZS4gVGhlIEZJU3MgYW5kIEZJUk1zIGFyZSBwdWJsaXNoZWQgYnkgdGhlIEZlZGVyYWwgRW1lcmdlbmN5IE1hbmFnZW1lbnQgQWdlbmN5IChGRU1BKS4gVGhlIHNwZWNpZmljYXRpb25zIGZvciB0aGUgaG9yaXpvbnRhbCBjb250cm9sIG9mIERGSVJNIGRhdGEgYXJlIGNvbnNpc3RlbnQgd2l0aCB0aG9zZSByZXF1aXJlZCBmb3IgbWFwcGluZyBhdCBhIHNjYWxlIG9mIDE6MTIsMDAwLiBUaGUgTkZITCBkYXRhIGNvbnRhaW4gbGF5ZXJzIGluIHRoZSBTdGFuZGFyZCBERklSTSBkYXRhc2V0cyBleGNlcHQgZm9yIFNfTGFiZWxfUHQgYW5kIFNfTGFiZWxfTGQuIFRoZSBORkhMIGlzIGF2YWlsYWJsZSBhcyBTdGF0ZSBvciBVUyBUZXJyaXRvcnkgZGF0YSBzZXRzLiBFYWNoIFN0YXRlIG9yIFRlcnJpdG9yeSBkYXRhIHNldCBjb25zaXN0cyBvZiBhbGwgREZJUk1zIGFuZCBjb3JyZXNwb25kaW5nIExPTVJzIGF2YWlsYWJsZSBvbiB0aGUgcHVibGljYXRpb24gZGF0ZSBvZiB0aGUgZGF0YSBzZXQuIl19LCJzb3J0IjpbMi4wLDEzNDUwNzUyMDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX04yREFNU18yMDEyIiwiX3Njb3JlIjoyLjAsIl9zb3VyY2UiOnsic291cmNlIjoiTUlUIEdJUyBSZXNvdXJjZXMiLCJzb3VyY2VfbGluayI6Imh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfVVNfTUFfTjJEQU1TXzIwMTIiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX04yREFNU18yMDEyIiwidGl0bGUiOiJNYXNzYWNodXNldHRzIChEYW1zLCAyMDEyKSIsImNpdGF0aW9uIjoiTWFzc2FjaHVzZXR0cy4gRGVwYXJ0bWVudCBvZiBDb25zZXJ2YXRpb24uIE1hc3NhY2h1c2V0dHMgKERhbXMsIDIwMTIpLiBNYXNzR0lTIChPZmZpY2UgOiBNYXNzLikuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19NQV9OMkRBTVNfMjAxMiIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6Ik1hc3NhY2h1c2V0dHMuIERlcGFydG1lbnQgb2YgQ29uc2VydmF0aW9uIiwia2luZCI6IkNyZWF0b3IifV0sImRhdGVzIjpbeyJraW5kIjoiSXNzdWVkIiwidmFsdWUiOiIyMDEyLTAyLTAzIn1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJVU19NQV9OMkRBTVNfMjAxMiIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn1dLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX04yREFNU18yMDEyLnNvdXJjZS5mZ2RjLnhtbCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJTb3VyY2UgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9OMkRBTVNfMjAxMi5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX04yREFNU18yMDEyLnppcCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJEYXRhIFppcGZpbGUifV0sImxvY2F0aW9ucyI6W3sia2luZCI6IkJvdW5kaW5nIEJveCIsImdlb3NoYXBlIjoiQkJPWCAoLTczLjQ5NTA5MywgLTY5Ljk3MzIxNiwgNDIuODY2ODMyLCA0MS4zMzg1MTgpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC03My40OTUwOTMsIC02OS45NzMyMTYsIDQyLjg2NjgzMiwgNDEuMzM4NTE4KSJ9XSwicHVibGljYXRpb25faW5mb3JtYXRpb24iOlsiTWFzc0dJUyAoT2ZmaWNlIDogTWFzcy4pIiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUHVibGljIiwia2luZCI6IkFjY2VzcyJ9XSwic3ViamVjdHMiOlt7InZhbHVlIjpbIkVjb25vbXkiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJFbnZpcm9ubWVudCJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIlN0cnVjdHVyZSJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJEYW1zIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiZWNvbm9teSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImVudmlyb25tZW50Il0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiaW5sYW5kV2F0ZXJzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsic3RydWN0dXJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRW50aXR5IHBvaW50Il0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiVGhlIE9EUyBtYWludGFpbnMgYSBkYXRhYmFzZSB0aGF0IGluY2x1ZGVzIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IGVhY2ggZGFtIGZvciBvcGVyYXRpb25hbCBwdXJwb3Nlcy4gTW9zdCBvZiB0aGUgbG9jYXRpb24gaW5mb3JtYXRpb24gd2FzIGRlcml2ZWQgZnJvbSBoaXN0b3JpYyBkYXRhIGFuZCBoYXMgYmVlbiBncm91bmQtdHJ1dGhlZCBhZ2FpbnN0IGluc3BlY3Rpb24gYW5kIG93bmVyc2hpcCByZXBvcnRzIHRoYXQgYXJlIG1haW50YWluZWQgYnkgdGhlIE9EUy4gVGhlIGxvY2F0aW9ucyBvZiBzb21lIGRhbXMgaGF2ZSBub3QgYmVlbiBjb25maXJtZWQuIFRoZXNlIGFyZSBwZW5kaW5nIHZlcmlmaWNhdGlvbiBhbmQgY2FuIGJlIGlkZW50aWZpZWQgdGhyb3VnaCB0aGUgZmllbGQgJ0xvY1N0YXR1cy7igJlEYW1zIHJlZ3VsYXRlZCBieSB0aGUgT0RTIGluIGFjY29yZGFuY2Ugd2l0aCByZWd1bGF0aW9uIENNUiAzMDIgMTAuMDAgYXJlIGxpc3RlZCBhcyDigJhPZmZpY2Ugb2YgRGFtIFNhZmV0eeKAmSBpbiB0aGUgZmllbGQg4oCYUmVnQXV0aOKAmS5QbGVhc2UgcmVwb3J0IGFueSBkYXRhIGVycm9ycyBvciBpbmNvbnNpc3RlbmNpZXMgdG8gdGhlIE9mZmljZSBvZiBEYW0gU2FmZXR5IChkYW0uc2FmZXR5QHN0YXRlLm1hLnVzKSBvciBEQ1ItR0lTIChjaGFuZHJleWVlLmxhaGlyaUBzdGF0ZS5tYS51cykiXX0sInNvcnQiOlsyLjAsMTMyODIyNzIwMDAwMF19LHsiX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6VVNfTUFfQk9TVE9OX0c0NkJMREdTXzIwMTIiLCJfc2NvcmUiOjIuMCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpVU19NQV9CT1NUT05fRzQ2QkxER1NfMjAxMiIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6VVNfTUFfQk9TVE9OX0c0NkJMREdTXzIwMTIiLCJ0aXRsZSI6InVzX21hX2Jvc3Rvbl9nNDZibGRnc18yMDEyIiwiY2l0YXRpb24iOiJCb3N0b24gKE1hc3MuKS4gRGVwdC4gb2YgSW5ub3ZhdGlvbiBhbmQgVGVjaG5vbG9neS4gdXNfbWFfYm9zdG9uX2c0NmJsZGdzXzIwMTIuIEJvc3RvbiBEZXBhcnRtZW50IG9mIElubm92YXRpb24gYW5kIFRlY2hub2xvZ3kgKERvSVQpLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6VVNfTUFfQk9TVE9OX0c0NkJMREdTXzIwMTIiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJCb3N0b24gKE1hc3MuKS4gRGVwdC4gb2YgSW5ub3ZhdGlvbiBhbmQgVGVjaG5vbG9neS4iLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMTItMDEtMTkifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxMi0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDEyIn1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJ1c19tYV9ib3N0b25fZzQ2YmxkZ3NfMjAxMiIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn1dLCJsYW5ndWFnZXMiOlsiZW5nIl0sImxpbmtzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvVVNfTUFfQk9TVE9OX0c0NkJMREdTXzIwMTIuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1VTX01BX0JPU1RPTl9HNDZCTERHU18yMDEyLm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvVVNfTUFfQk9TVE9OX0c0NkJMREdTXzIwMTIuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTg2MTEwLCAtNzAuOTI0ODEwLCA0Mi4zOTg3MzYsIDQyLjIyOTI3MSkifSx7ImtpbmQiOiJHZW9tZXRyeSIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjE4NjExMCwgLTcwLjkyNDgxMCwgNDIuMzk4NzM2LCA0Mi4yMjkyNzEpIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJCb3N0b24gRGVwYXJ0bWVudCBvZiBJbm5vdmF0aW9uIGFuZCBUZWNobm9sb2d5IChEb0lUKSIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlB1YmxpYyIsImtpbmQiOiJBY2Nlc3MifSx7ImRlc2NyaXB0aW9uIjoiRm9yIGVkdWNhdGlvbmFsIG5vbmNvbW1lcmNpYWwgdXNlIG9ubHkuIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiU3RydWN0dXJlIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiQm9zdG9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiTWFzc2FjaHVzZXR0cyJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIlN1ZmZvbGsiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJOZXcgRW5nbGFuZCJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIlVTIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiTUEiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJFYXN0ZXJuIE1hc3NhY2h1c2V0dHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJOb3J0aGVybiBIZW1pc3BoZXJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiV2VzdGVybiBIZW1pc3BoZXJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiVW5pdGVkIFN0YXRlcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbInBvbHlnb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJzdHJ1Y3R1cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJCdWlsZGluZ3MiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJEYXRhc2V0cyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn0seyJ2YWx1ZSI6WyJHLXBvbHlnb24iXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9XSwic3VtbWFyeSI6WyJUaGlzIHBvbHlnb24gbGF5ZXIgcmVwcmVzZW50cyBidWlsZGluZyBmb290cHJpbnRzIGluIEJvc3RvbiwgTUEiXX0sInNvcnQiOlsyLjAsMTMyNjkzMTIwMDAwMF19LHsiX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfVVNfTUFfQk9TVE9OX0c0N1BBUkNFTFNfMjAxMiIsIl9zY29yZSI6Mi4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTIiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTIiLCJ0aXRsZSI6IkJvc3RvbiwgTUEgKExhbmQgUGFyY2VscywgMjAxMikiLCJjaXRhdGlvbiI6IkJvc3RvbiAoTWFzcy4pIEFzc2Vzc2luZyBEZXBhcnRtZW50LiBCb3N0b24sIE1BIChMYW5kIFBhcmNlbHMsIDIwMTIpLiBDaXR5IG9mIEJvc3RvbiBBc3Nlc3NpbmcgRGVwYXJ0bWVudC4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTIiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJCb3N0b24gKE1hc3MuKSBBc3Nlc3NpbmcgRGVwYXJ0bWVudCIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAxMi0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDEyLTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTIifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IlVTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTIiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDEyLnNvdXJjZS5mZ2RjLnhtbCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJTb3VyY2UgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9CT1NUT05fRzQ3UEFSQ0VMU18yMDEyLm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9yZXN0cmljdGVkL1NERV9EQVRBX1VTX01BX0JPU1RPTl9HNDdQQVJDRUxTXzIwMTIuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTkxMTgyLCAtNzAuOTIyNjM3LCA0Mi4zOTc1NjQsIDQyLjIyNzAwNSkifSx7ImtpbmQiOiJHZW9tZXRyeSIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjE5MTE4MiwgLTcwLjkyMjYzNywgNDIuMzk3NTY0LCA0Mi4yMjcwMDUpIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJDaXR5IG9mIEJvc3RvbiBBc3Nlc3NpbmcgRGVwYXJ0bWVudCIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlJlc3RyaWN0ZWQiLCJraW5kIjoiQWNjZXNzIn0seyJkZXNjcmlwdGlvbiI6Ik4vQSJ9XSwic3ViamVjdHMiOlt7InZhbHVlIjpbIkJvdW5kYXJpZXMiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJMb2NhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMtLUJvc3RvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIkxhbmQgdXNlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiQWRtaW5pc3RyYXRpdmUgYW5kIHBvbGl0aWNhbCBkaXZpc2lvbnMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJMYW5kIHZhbHVlIHRheGF0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiTGFuZCB0ZW51cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJOZWlnaGJvcmhvb2RzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiYm91bmRhcmllcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImxvY2F0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsicGxhbm5pbmdDYWRhc3RyZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkdULXBvbHlnb24gY29tcG9zZWQgb2YgY2hhaW5zIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiQ2l0eSBvZiBCb3N0b24gcHJvcGVydHkgcGFyY2VsIGRhdGEgZnJvbSBGWSAyMDEyIHdhcyBqb2luZWQgd2l0aCBwYXJjZWwgYm91bmRhcmllcyBmcm9tIEZZIDIwMTIuIEFsbCBkYXRhIGlzIGZyb20gdGhlIENpdHkgb2YgQm9zdG9uIEFzc2Vzc29yJ3Mgb2ZmaWNlIGFuZCByZXByZXNlbnRzIGRhdGEgZnJvbSAyMDExLiJdfSwic29ydCI6WzIuMCwxMzI1Mzc2MDAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpHSVNQT1JUQUxfR0lTT1dORVIwMV9DQU1CUklER0VOSE9PRENPTlNWRElTVDA3IiwiX3Njb3JlIjoyLjAsIl9zb3VyY2UiOnsic291cmNlIjoiTUlUIEdJUyBSZXNvdXJjZXMiLCJzb3VyY2VfbGluayI6Imh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6R0lTUE9SVEFMX0dJU09XTkVSMDFfQ0FNQlJJREdFTkhPT0RDT05TVkRJU1QwNyIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6R0lTUE9SVEFMX0dJU09XTkVSMDFfQ0FNQlJJREdFTkhPT0RDT05TVkRJU1QwNyIsInRpdGxlIjoiTmVpZ2hib3Job29kIENvbnNlcnZhdGlvbiBEaXN0cmljdHMgQ2FtYnJpZGdlIE1BIDIwMDciLCJjaXRhdGlvbiI6IkNhbWJyaWRnZSAoTWFzcy4pLiBHZW9ncmFwaGljIEluZm9ybWF0aW9uIFN5c3RlbXMuIE5laWdoYm9yaG9vZCBDb25zZXJ2YXRpb24gRGlzdHJpY3RzIENhbWJyaWRnZSBNQSAyMDA3LiBHSVMgTGFiLCBNSVQgTGlicmFyaWVzLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6R0lTUE9SVEFMX0dJU09XTkVSMDFfQ0FNQlJJREdFTkhPT0RDT05TVkRJU1QwNyIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6IkNhbWJyaWRnZSAoTWFzcy4pLiBHZW9ncmFwaGljIEluZm9ybWF0aW9uIFN5c3RlbXMiLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMTEtMDctMjAifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IkNhbWJyaWRnZU5ob29kQ29uc3ZEaXN0MDciLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL0dJU1BPUlRBTF9HSVNPV05FUjAxX0NBTUJSSURHRU5IT09EQ09OU1ZESVNUMDcuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL0dJU1BPUlRBTF9HSVNPV05FUjAxX0NBTUJSSURHRU5IT09EQ09OU1ZESVNUMDcubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9HSVNQT1JUQUxfR0lTT1dORVIwMV9DQU1CUklER0VOSE9PRENPTlNWRElTVDA3LnppcCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJEYXRhIFppcGZpbGUifV0sImxvY2F0aW9ucyI6W3sia2luZCI6IkJvdW5kaW5nIEJveCIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjEzNDA1MCwgLTcxLjA5OTI2OCwgNDIuMzg4MTU2LCA0Mi4zNjY3MzQpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC03MS4xMzQwNTAsIC03MS4wOTkyNjgsIDQyLjM4ODE1NiwgNDIuMzY2NzM0KSJ9XSwicHVibGljYXRpb25faW5mb3JtYXRpb24iOlsiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUHVibGljIiwia2luZCI6IkFjY2VzcyJ9LHsiZGVzY3JpcHRpb24iOiJGb3IgZWR1Y2F0aW9uYWwgbm9uY29tbWVyY2lhbCB1c2Ugb25seS4ifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJCb3VuZGFyaWVzIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiU29jaWV0eSJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIlN0cnVjdHVyZSJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMtLUNhbWJyaWRnZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIkhpc3RvcmljIGRpc3RyaWN0cy0tQ29uc2VydmF0aW9uIGFuZCByZXN0b3JhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbImJvdW5kYXJpZXMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJzb2NpZXR5Il0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsic3RydWN0dXJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRy1wb2x5Z29uIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiVGhpcyBkYXRhc2V0IGNvbnRhaW5zIGZpdmUgcG9seWdvbnMgcmVwcmVzZW50aW5nIE5laWdoYm9yaG9vZCBDb25zZXJ2YXRpb24gRGlzdHJpY3RzIChOQ0RzKSBpbiBDYW1icmlkZ2UsIE1BLiBDb25zZXJ2YXRpb24gZGlzdHJpY3RzIGFyZSBncm91cHMgb2YgYnVpbGRpbmdzIGFuZCB0aGVpciBzdXJyb3VuZGluZ3MgdGhhdCBhcmUgYXJjaGl0ZWN0dXJhbGx5IGFuZCBoaXN0b3JpY2FsbHkgZGlzdGluY3RpdmUuIl19LCJzb3J0IjpbMi4wLDEzMTExMjAwMDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX1AyTUFKUkRTXzIwMDUiLCJfc2NvcmUiOjIuMCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19QMk1BSlJEU18yMDA1IiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19QMk1BSlJEU18yMDA1IiwidGl0bGUiOiJVU0EgKE1ham9yIFJvYWRzLCAyMDA1KSIsImNpdGF0aW9uIjoiVGVsZSBBdGxhcyBOb3J0aCBBbWVyaWNhLCBJbmMuL0dlb2dyYXBoaWMgRGF0YSBUZWNobm9sb2d5LCBJbmMuLCBFU1JJLiBVU0EgKE1ham9yIFJvYWRzLCAyMDA1KS4gRW52aXJvbm1lbnRhbCBTeXN0ZW1zIFJlc2VhcmNoIEluc3RpdHV0ZSAoRVNSSSkuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19QMk1BSlJEU18yMDA1IiwiY29udGVudF90eXBlIjpbIkdlb3NwYXRpYWwgZGF0YSJdLCJjb250cmlidXRvcnMiOlt7InZhbHVlIjoiVGVsZSBBdGxhcyBOb3J0aCBBbWVyaWNhLCBJbmMuL0dlb2dyYXBoaWMgRGF0YSBUZWNobm9sb2d5LCBJbmMuIiwia2luZCI6IkNyZWF0b3IifSx7InZhbHVlIjoiRVNSSSIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAwNS0wNC0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDA0LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDUtMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxMS0wNC0yMCJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDAxLTA1LTIwIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDQifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwNSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDExIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDEifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IlNERV9EQVRBLlVTX1AyTUFKUkRTXzIwMDUiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9LHsidmFsdWUiOiJVU19QMk1BSlJEU18yMDA1Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19QMk1BSlJEU18yMDA1LnNvdXJjZS5mZ2RjLnhtbCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJTb3VyY2UgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19QMk1BSlJEU18yMDA1Lm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9yZXN0cmljdGVkL1NERV9EQVRBX1VTX1AyTUFKUkRTXzIwMDUuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTY2LjU1NjQ5OCwgLTY1LjI1OTU5MCwgNzEuMzA2ODgwLCAxNy45NDkyMDEpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xNjYuNTU2NDk4LCAtNjUuMjU5NTkwLCA3MS4zMDY4ODAsIDE3Ljk0OTIwMSkifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKEVTUkkpIiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIlVuaXRlZCBTdGF0ZXMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIlN0cmluZyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIlUuUy4gTWFqb3IgUm9hZHMgcmVwcmVzZW50cyBpbnRlcnN0YXRlLCBVLlMuIGFuZCBzdGF0ZSBoaWdod2F5cywgbWFqb3Igc3RyZWV0cywgYW5kIG90aGVyIG1ham9yIHRob3JvdWdoZmFyZXMgd2l0aGluIHRoZSBVbml0ZWQgU3RhdGVzLiJdfSwic29ydCI6WzIuMCwxMzAzMjU3NjAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9VU19QMVRSQU5TVEVSTVNfMjAwNSIsIl9zY29yZSI6Mi4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX1AxVFJBTlNURVJNU18yMDA1IiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19QMVRSQU5TVEVSTVNfMjAwNSIsInRpdGxlIjoiVVNBIChUcmFuc3BvcnRhdGlvbiBUZXJtaW5hbHMsIDIwMDUpIiwiY2l0YXRpb24iOiJUZWxlIEF0bGFzIE5vcnRoIEFtZXJpY2EsIEluYy4vR2VvZ3JhcGhpYyBEYXRhIFRlY2hub2xvZ3ksIEluYy4sIEVTUkkuIFVTQSAoVHJhbnNwb3J0YXRpb24gVGVybWluYWxzLCAyMDA1KS4gRW52aXJvbm1lbnRhbCBTeXN0ZW1zIFJlc2VhcmNoIEluc3RpdHV0ZSAoRVNSSSkuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19QMVRSQU5TVEVSTVNfMjAwNSIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6IlRlbGUgQXRsYXMgTm9ydGggQW1lcmljYSwgSW5jLi9HZW9ncmFwaGljIERhdGEgVGVjaG5vbG9neSwgSW5jLiIsImtpbmQiOiJDcmVhdG9yIn0seyJ2YWx1ZSI6IkVTUkkiLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMDUtMDQtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwNC0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDA1LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTEtMDQtMjAifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwMS0wNS0yMCJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDA0In0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDUifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDAxIn1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJTREVfREFUQS5VU19QMVRSQU5TVEVSTVNfMjAwNSIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn0seyJ2YWx1ZSI6IlVTX1AxVFJBTlNURVJNU18yMDA1Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19QMVRSQU5TVEVSTVNfMjAwNS5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfUDFUUkFOU1RFUk1TXzIwMDUubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvU0RFX0RBVEFfVVNfUDFUUkFOU1RFUk1TXzIwMDUuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTY2LjQ5ODY5MiwgLTY1LjMwMjE0MywgNjEuMTIyMzc4LCAxOC4xNTIxOTMpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xNjYuNDk4NjkyLCAtNjUuMzAyMTQzLCA2MS4xMjIzNzgsIDE4LjE1MjE5MykifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKEVTUkkpIiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIlVuaXRlZCBTdGF0ZXMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkVudGl0eSBwb2ludCJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIlUuUy4gVEFOQS9HRFQgVHJhbnNwb3J0YXRpb24gVGVybWluYWxzIHJlcHJlc2VudHMgbG9jYXRpb25zIHdpdGhpbiBVbml0ZWQgU3RhdGVzIGZvciB0cmFuc3BvcnRhdGlvbiB0ZXJtaW5hbHMgc3VjaCBhcyBidXMgdGVybWluYWxzLCB0cmFpbiBzdGF0aW9ucywgbWFyaW5lIHRlcm1pbmFscywgYW5kIG90aGVyIHNpZ25pZmljYW50IHRyYW5zcG9ydGF0aW9uIG5vZGVzLiJdfSwic29ydCI6WzIuMCwxMzAzMjU3NjAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9DQV9GN1JFR05NVU5JXzIwMDUiLCJfc2NvcmUiOjIuMCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9DQV9GN1JFR05NVU5JXzIwMDUiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX0NBX0Y3UkVHTk1VTklfMjAwNSIsInRpdGxlIjoiQ2FuYWRhIChSZWdpb25hbCBNdW5pY2lwYWxpdGllcywgMjAwNSkiLCJjaXRhdGlvbiI6IkRNVEkgU3BhdGlhbCBJbmMuLCBFbnZpcm9ubWVudGFsIFN5c3RlbXMgUmVzZWFyY2ggSW5zdGl0dXRlIChSZWRsYW5kcywgQ2FsaWYuKS4gQ2FuYWRhIChSZWdpb25hbCBNdW5pY2lwYWxpdGllcywgMjAwNSkuIEVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKFJlZGxhbmRzLCBDYWxpZi4pLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfQ0FfRjdSRUdOTVVOSV8yMDA1IiwiY29udGVudF90eXBlIjpbIkdlb3NwYXRpYWwgZGF0YSJdLCJjb250cmlidXRvcnMiOlt7InZhbHVlIjoiRE1USSBTcGF0aWFsIEluYy4iLCJraW5kIjoiQ3JlYXRvciJ9LHsidmFsdWUiOiJFbnZpcm9ubWVudGFsIFN5c3RlbXMgUmVzZWFyY2ggSW5zdGl0dXRlIChSZWRsYW5kcywgQ2FsaWYuKSIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAwNS0wNC0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDA0LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDEtMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxMS0wNC0yMCJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDA0In0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxMSJ9XSwiZm9ybWF0IjoiVmVjdG9yIiwiaWRlbnRpZmllcnMiOlt7InZhbHVlIjoiU0RFX0RBVEEuQ0FfRjdSRUdOTVVOSV8yMDA1Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifSx7InZhbHVlIjoiQ0FfRjdSRUdOTVVOSV8yMDA1Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9DQV9GN1JFR05NVU5JXzIwMDUuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX0NBX0Y3UkVHTk1VTklfMjAwNS5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcmVzdHJpY3RlZC9TREVfREFUQV9DQV9GN1JFR05NVU5JXzIwMDUuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTQxLjAwMTg3MCwgLTUyLjYxOTE3MCwgODMuMTE1MDYzLCA0MS42ODc5NzMpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xNDEuMDAxODcwLCAtNTIuNjE5MTcwLCA4My4xMTUwNjMsIDQxLjY4Nzk3MykifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKFJlZGxhbmRzLCBDYWxpZi4pIiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJCb3VuZGFyaWVzIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiQ2FuYWRhIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiQWRtaW5pc3RyYXRpdmUgYW5kIHBvbGl0aWNhbCBkaXZpc2lvbnMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJDaXRpZXMgYW5kIHRvd25zIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiYm91bmRhcmllcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkctcG9seWdvbiJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIkNhbmFkYSBSZWdpb25hbCBNdW5pY2lwYWxpdGllcyByZXByZXNlbnRzIHRoZSByZWdpb25hbCBtdW5pY2lwYWxpdGllcyAoY291bnRpZXMpIHdpdGhpbiBDYW5hZGEgaW5jbHVkaW5nIHJlZ2lvbmFsIGRpc3RyaWN0cyBhbmQgbXVuaWNpcGFsaXRpZXMsIGNvdW50aWVzLCBjb21tdW5hdXTDqSwgcmVnaW9ucywgYW5kIGRpc3RyaWN0cy4gVGhlIGJvdW5kYXJpZXMgYXJlIGRpZ2l0aXplZCBmcm9tIENhbk1hcMKuLiJdfSwic29ydCI6WzIuMCwxMzAzMjU3NjAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9DQV9GN01VTklfMjAwNSIsIl9zY29yZSI6Mi4wLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX0NBX0Y3TVVOSV8yMDA1IiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9DQV9GN01VTklfMjAwNSIsInRpdGxlIjoiQ2FuYWRhIChNdW5pY2lwYWxpdGllcywgMjAwNSkiLCJjaXRhdGlvbiI6IkRNVEkgU3BhdGlhbCBJbmMuLCBFbnZpcm9ubWVudGFsIFN5c3RlbXMgUmVzZWFyY2ggSW5zdGl0dXRlIChSZWRsYW5kcywgQ2FsaWYuKS4gQ2FuYWRhIChNdW5pY2lwYWxpdGllcywgMjAwNSkuIEVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKFJlZGxhbmRzLCBDYWxpZi4pLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfQ0FfRjdNVU5JXzIwMDUiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJETVRJIFNwYXRpYWwgSW5jLiIsImtpbmQiOiJDcmVhdG9yIn0seyJ2YWx1ZSI6IkVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKFJlZGxhbmRzLCBDYWxpZi4pIiwia2luZCI6IkNyZWF0b3IifV0sImRhdGVzIjpbeyJraW5kIjoiSXNzdWVkIiwidmFsdWUiOiIyMDA1LTA0LTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDQtMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwMS0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDExLTA0LTIwIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDQifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDExIn1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJTREVfREFUQS5DQV9GN01VTklfMjAwNSIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn0seyJ2YWx1ZSI6IkNBX0Y3TVVOSV8yMDA1Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9DQV9GN01VTklfMjAwNS5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfQ0FfRjdNVU5JXzIwMDUubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvU0RFX0RBVEFfQ0FfRjdNVU5JXzIwMDUuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTQxLjAwMTg3MCwgLTUyLjYxOTE3MywgODMuMTE1MDYzLCA0MS42ODc5NzMpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xNDEuMDAxODcwLCAtNTIuNjE5MTczLCA4My4xMTUwNjMsIDQxLjY4Nzk3MykifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKFJlZGxhbmRzLCBDYWxpZi4pIiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJCb3VuZGFyaWVzIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiQ2FuYWRhIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiQ2l0aWVzIGFuZCB0b3ducyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIlZpbGxhZ2VzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiUGFyaXNoZXMgKExvY2FsIGdvdmVybm1lbnQpIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiQWRtaW5pc3RyYXRpdmUgYW5kIHBvbGl0aWNhbCBkaXZpc2lvbnMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJJbnVpdC0tTGFuZCB0ZW51cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJib3VuZGFyaWVzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRy1wb2x5Z29uIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiQ2FuYWRhIE11bmljaXBhbGl0aWVzIHJlcHJlc2VudHMgdGhlIG11bmljaXBhbGl0aWVzICh0b3duc2hpcHMpIHdpdGhpbiBDYW5hZGEgb2YgdHlwZXMgaW5jbHVkaW5nIGNpdGllcywgY2FudG9ucywgaGFtbGV0cywgdG93bnMvdmlsbGUsIHZpbGxhZ2VzLCBJbmRpYW4gcmVzZXJ2ZXMsIHBhcmlzaGVzL3Bhcm9pc3NlLCBjb21tdW5pdGllcywgdW5vcmdhbml6ZWQsIGRpc3RyaWN0cywgYW5kIHRlcnJlIEludWl0ZS4gVGhlIGJvdW5kYXJpZXMgYXJlIGRpZ2l0aXplZCBmcm9tIENhbk1hcMKuLiJdfSwic29ydCI6WzIuMCwxMzAzMjU3NjAwMDAwXX1dfSwiYWdncmVnYXRpb25zIjp7Imxhbmd1YWdlcyI6eyJkb2NfY291bnRfZXJyb3JfdXBwZXJfYm91bmQiOjAsInN1bV9vdGhlcl9kb2NfY291bnQiOjAsImJ1Y2tldHMiOlt7ImtleSI6ImVuZyIsImRvY19jb3VudCI6ODA4fV19LCJjb250ZW50X3R5cGUiOnsiZG9jX2NvdW50X2Vycm9yX3VwcGVyX2JvdW5kIjowLCJzdW1fb3RoZXJfZG9jX2NvdW50IjowLCJidWNrZXRzIjpbeyJrZXkiOiJnZW9zcGF0aWFsIGRhdGEiLCJkb2NfY291bnQiOjgyNX1dfSwic3ViamVjdHMiOnsiZG9jX2NvdW50Ijo3NDQ3LCJzdWJqZWN0X25hbWVzIjp7ImRvY19jb3VudF9lcnJvcl91cHBlcl9ib3VuZCI6MCwic3VtX290aGVyX2RvY19jb3VudCI6NDE4MywiYnVja2V0cyI6W3sia2V5IjoiZGF0YXNldHMiLCJkb2NfY291bnQiOjgyNX0seyJrZXkiOiJnLXBvbHlnb24iLCJkb2NfY291bnQiOjQxNn0seyJrZXkiOiJib3VuZGFyaWVzIiwiZG9jX2NvdW50IjozNzZ9LHsia2V5IjoidHJhbnNwb3J0YXRpb24iLCJkb2NfY291bnQiOjM0OH0seyJrZXkiOiJ1bml0ZWQgc3RhdGVzIiwiZG9jX2NvdW50IjoyNzB9LHsia2V5IjoiZW50aXR5IHBvaW50IiwiZG9jX2NvdW50IjoyNTZ9LHsia2V5Ijoic29jaWV0eSIsImRvY19jb3VudCI6MjQ2fSx7ImtleSI6Im1hc3NhY2h1c2V0dHMtLWNhbWJyaWRnZSIsImRvY19jb3VudCI6MTk3fSx7ImtleSI6InN0cnVjdHVyZSIsImRvY19jb3VudCI6MTY2fSx7ImtleSI6ImxvY2F0aW9uIiwiZG9jX2NvdW50IjoxNjR9XX19LCJjb250ZW50X2Zvcm1hdCI6eyJkb2NfY291bnRfZXJyb3JfdXBwZXJfYm91bmQiOjAsInN1bV9vdGhlcl9kb2NfY291bnQiOjAsImJ1Y2tldHMiOlt7ImtleSI6InZlY3RvciIsImRvY19jb3VudCI6ODI0fSx7ImtleSI6InBvaW50IiwiZG9jX2NvdW50IjoxfV19LCJsaXRlcmFyeV9mb3JtIjp7ImRvY19jb3VudF9lcnJvcl91cHBlcl9ib3VuZCI6MCwic3VtX290aGVyX2RvY19jb3VudCI6MCwiYnVja2V0cyI6W119LCJzb3VyY2UiOnsiZG9jX2NvdW50X2Vycm9yX3VwcGVyX2JvdW5kIjowLCJzdW1fb3RoZXJfZG9jX2NvdW50IjowLCJidWNrZXRzIjpbeyJrZXkiOiJtaXQgZ2lzIHJlc291cmNlcyIsImRvY19jb3VudCI6ODI1fV19LCJjb250cmlidXRvcnMiOnsiZG9jX2NvdW50IjoxMDExLCJjb250cmlidXRvcl9uYW1lcyI6eyJkb2NfY291bnRfZXJyb3JfdXBwZXJfYm91bmQiOjAsInN1bV9vdGhlcl9kb2NfY291bnQiOjQyNywiYnVja2V0cyI6W3sia2V5IjoibWFzc2dpcyAob2ZmaWNlIDogbWFzcy4pIiwiZG9jX2NvdW50IjoxMzR9LHsia2V5IjoiZXNyaSIsImRvY19jb3VudCI6ODR9LHsia2V5IjoiY2l0eSBvZiBjYW1icmlkZ2UgZ2lzIiwiZG9jX2NvdW50Ijo4Mn0seyJrZXkiOiJwbGF0dHMiLCJkb2NfY291bnQiOjY0fSx7ImtleSI6ImVudmlyb25tZW50YWwgc3lzdGVtcyByZXNlYXJjaCBpbnN0aXR1dGUgKHJlZGxhbmRzLCBjYWxpZi4pIiwiZG9jX2NvdW50Ijo0OX0seyJrZXkiOiJlbnZpcm9ubWVudGFsIHN5c3RlbXMgcmVzZWFyY2ggaW5zdGl0dXRlLCBpbmMuIChlc3JpKSIsImRvY19jb3VudCI6NDR9LHsia2V5IjoiY2FtYnJpZGdlIChtYXNzLikuIGdlb2dyYXBoaWMgaW5mb3JtYXRpb24gc3lzdGVtcyIsImRvY19jb3VudCI6NDF9LHsia2V5IjoidGVsZSBhdGxhcyBiLnYuIiwiZG9jX2NvdW50IjozMn0seyJrZXkiOiJ1c2dzIiwiZG9jX2NvdW50IjoyOH0seyJrZXkiOiJjaXR5IG9mIG5ld3RvbiBnaXMiLCJkb2NfY291bnQiOjI2fV19fX19 + recorded_at: Wed, 14 Feb 2024 16:44:24 GMT +recorded_with: VCR 6.2.0 diff --git a/test/vcr_cassettes/graphqlv2_geobox_with_keyword.yml b/test/vcr_cassettes/graphqlv2_geobox_with_keyword.yml new file mode 100644 index 00000000..e7a79f80 --- /dev/null +++ b/test/vcr_cassettes/graphqlv2_geobox_with_keyword.yml @@ -0,0 +1,34 @@ +--- +http_interactions: +- request: + method: post + uri: http://localhost:9200/timdex-prod/_search + body: + encoding: UTF-8 + string: '{"from":"0","size":20,"query":{"bool":{"should":[{"prefix":{"title.exact_value":{"value":"train + stations","boost":15.0}}},{"term":{"title":{"value":"train stations","boost":1.0}}},{"nested":{"path":"contributors","query":{"term":{"contributors.value":{"value":"train + stations","boost":0.1}}}}}],"must":[{"multi_match":{"query":"train stations","fields":["alternate_titles","call_numbers","citation","contents","contributors.value","dates.value","edition","funding_information.*","identifiers.value","languages","locations.value","notes.value","numbering","publication_information","subjects.value","summary","title"]}},{"bool":{"must":{"match_all":{}},"filter":{"geo_bounding_box":{"locations.geoshape":{"top":42.886,"bottom":41.239,"left":-73.507,"right":-69.928}}}}}],"filter":[]}},"aggregations":{"contributors":{"nested":{"path":"contributors"},"aggs":{"contributor_names":{"terms":{"field":"contributors.value.keyword"}}}},"content_type":{"terms":{"field":"content_type"}},"content_format":{"terms":{"field":"format"}},"languages":{"terms":{"field":"languages.keyword"}},"literary_form":{"terms":{"field":"literary_form"}},"source":{"terms":{"field":"source"}},"subjects":{"nested":{"path":"subjects"},"aggs":{"subject_names":{"terms":{"field":"subjects.value.keyword"}}}}},"sort":[{"_score":{"order":"desc"}},{"dates.value.as_date":{"order":"desc","nested":{"path":"dates"}}}]}' + headers: + User-Agent: + - 'opensearch-ruby/3.1.0 (RUBY_VERSION: 3.2.2; darwin arm64; Faraday v2.9.0)' + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Type: + - application/json; charset=UTF-8 + Content-Length: + - '55942' + body: + encoding: ASCII-8BIT + string: !binary |- + eyJ0b29rIjoxMiwidGltZWRfb3V0IjpmYWxzZSwiX3NoYXJkcyI6eyJ0b3RhbCI6MSwic3VjY2Vzc2Z1bCI6MSwic2tpcHBlZCI6MCwiZmFpbGVkIjowfSwiaGl0cyI6eyJ0b3RhbCI6eyJ2YWx1ZSI6MzgsInJlbGF0aW9uIjoiZXEifSwibWF4X3Njb3JlIjpudWxsLCJoaXRzIjpbeyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9VU19QMVRSQU5URVJNXzIwMDYiLCJfc2NvcmUiOjEzLjM1NzE2OCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19QMVRSQU5URVJNXzIwMDYiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX1AxVFJBTlRFUk1fMjAwNiIsInRpdGxlIjoiVVNBIChUcmFuc3BvcnRhdGlvbiBUZXJtaW5hbHMsIDIwMDYpIiwiY2l0YXRpb24iOiJUZWxlIEF0bGFzIE5vcnRoIEFtZXJpY2EsIEluYy4sIEVTUkkuIFVTQSAoVHJhbnNwb3J0YXRpb24gVGVybWluYWxzLCAyMDA2KS4gRW52aXJvbm1lbnRhbCBTeXN0ZW1zIFJlc2VhcmNoIEluc3RpdHV0ZSAoRVNSSSkuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19QMVRSQU5URVJNXzIwMDYiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJUZWxlIEF0bGFzIE5vcnRoIEFtZXJpY2EsIEluYy4iLCJraW5kIjoiQ3JlYXRvciJ9LHsidmFsdWUiOiJFU1JJIiwia2luZCI6IkNyZWF0b3IifV0sImRhdGVzIjpbeyJraW5kIjoiSXNzdWVkIiwidmFsdWUiOiIyMDA2LTEwLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDYtMTAtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwNiJ9XSwiZm9ybWF0IjoiVmVjdG9yIiwiaWRlbnRpZmllcnMiOlt7InZhbHVlIjoiU0RFX0RBVEEuVVNfUDFUUkFOVEVSTV8yMDA2Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifSx7InZhbHVlIjoiVVNfUDFUUkFOVEVSTV8yMDA2Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19QMVRSQU5URVJNXzIwMDYuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX1AxVFJBTlRFUk1fMjAwNi5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcmVzdHJpY3RlZC9TREVfREFUQV9VU19QMVRSQU5URVJNXzIwMDYuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTY2LjQ5ODY5MiwgLTY1LjMwMjE0MywgNjEuMTIyMzc4LCAxOC4xNTIxOTMpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xNjYuNDk4NjkyLCAtNjUuMzAyMTQzLCA2MS4xMjIzNzgsIDE4LjE1MjE5MykifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKEVTUkkpIiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIlVuaXRlZCBTdGF0ZXMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkVudGl0eSBwb2ludCJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIlUuUy4gVHJhbnNwb3J0YXRpb24gVGVybWluYWxzIHJlcHJlc2VudHMgbG9jYXRpb25zIHdpdGhpbiBVbml0ZWQgU3RhdGVzIGZvciB0cmFuc3BvcnRhdGlvbiB0ZXJtaW5hbHMgc3VjaCBhcyBidXMgc3RhdGlvbnMsIHRyYWluIHN0YXRpb25zLCBtYXJpbmUgdGVybWluYWxzLCBhbmQgb3RoZXIgc2lnbmlmaWNhbnQgdHJhbnNwb3J0YXRpb24gbm9kZXMuIl19LCJzb3J0IjpbMTMuMzU3MTY4LDExNTk2NjA4MDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX1AzU1RBVElPTlNfMjAwNCIsIl9zY29yZSI6MTIuMTg5ODkyLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX1AzU1RBVElPTlNfMjAwNCIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfVVNfTUFfUDNTVEFUSU9OU18yMDA0IiwidGl0bGUiOiJNYXNzYWNodXNldHRzIChUcmFpbiBTdGF0aW9ucyAyMDA0KSIsImNpdGF0aW9uIjoiTWFzc0dJUyAoT2ZmaWNlIDogTWFzcy4pLiBNYXNzYWNodXNldHRzIChUcmFpbiBTdGF0aW9ucyAyMDA0KS4gTWFzc0dJUyAoT2ZmaWNlIDogTWFzcy4pLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfVVNfTUFfUDNTVEFUSU9OU18yMDA0IiwiY29udGVudF90eXBlIjpbIkdlb3NwYXRpYWwgZGF0YSJdLCJjb250cmlidXRvcnMiOlt7InZhbHVlIjoiTWFzc0dJUyAoT2ZmaWNlIDogTWFzcy4pIiwia2luZCI6IkNyZWF0b3IifV0sImRhdGVzIjpbeyJraW5kIjoiSXNzdWVkIiwidmFsdWUiOiIyMDA0LTA0LTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDQtMDQtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwNCJ9XSwiZm9ybWF0IjoiVmVjdG9yIiwiaWRlbnRpZmllcnMiOlt7InZhbHVlIjoiU0RFX0RBVEEuVVNfTUFfUDNTVEFUSU9OU18yMDA0Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifSx7InZhbHVlIjoiVVNfTUFfUDNTVEFUSU9OU18yMDA0Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9QM1NUQVRJT05TXzIwMDQuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX1AzU1RBVElPTlNfMjAwNC5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX1AzU1RBVElPTlNfMjAwNC56aXAiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiRGF0YSBaaXBmaWxlIn1dLCJsb2NhdGlvbnMiOlt7ImtpbmQiOiJCb3VuZGluZyBCb3giLCJnZW9zaGFwZSI6IkJCT1ggKC03My40NDg4MzIsIC02OS45MjMzMjgsIDQyLjk3OTE4NiwgNDEuMjU2NDkzKSJ9LHsia2luZCI6Ikdlb21ldHJ5IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzMuNDQ4ODMyLCAtNjkuOTIzMzI4LCA0Mi45NzkxODYsIDQxLjI1NjQ5MykifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIk1hc3NHSVMgKE9mZmljZSA6IE1hc3MuKSIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlB1YmxpYyIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJSYWlscm9hZHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJNYXNzYWNodXNldHRzIEJheSBUcmFuc3BvcnRhdGlvbiBBdXRob3JpdHkiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJ0cmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkVudGl0eSBwb2ludCJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIlRoZSBDZW50cmFsIFRyYW5zcG9ydGF0aW9uIFBsYW5uaW5nIFN0YWZmIHVwZGF0ZWQgYW5kIGVuaGFuY2VkIHJhaWxyb2FkIGxpbmV3b3JrIGRpc3RyaWJ1dGVkIGJ5IHRoZSBVbml0ZWQgU3RhdGVzIEdlb2xvZ2ljYWwgU3VydmV5IChVU0dTKSBhcyAxOjEwMCwwMDAgRGlnaXRhbCBMaW5lIEdyYXBocyAoRExHcykuIFRoZSBvcmlnaW5hbCAxOjEwMCwwMDAgRExHIGRhdGEgd2VyZSBjb25mbGF0ZWQgdG8gdGhlIG9ydGhvcGhvdG8tZGVyaXZlZCAxOjUsMDAwIENlbnRlcmxpbmUgbGluZXdvcmsuIFRoaXMgZGF0YSBsYXllciBpcyBtdWNoIG1vcmUgZGV0YWlsZWQgdGhhbiBwcmUtQXByaWwgMjAwNCB0cmFpbnMgZGF0YSBhbmQgaGFzIG1hbnkgbW9yZSBhYmFuZG9uZWQgcmFpbCBsaW5lcy4gSW4gbWFueSBpbnN0YW5jZXMgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSB0cmFjayBwZXIgcmFpbCBsaW5lLCBhbmQgcmFpbCB5YXJkcyBhbmQgc3B1cnMgYXJlIGluY2x1ZGVkLkNUUFMgYWRkZWQgc2V2ZXJhbCBhdHRyaWJ1dGVzIHBlcnRhaW5pbmcgdG8gdHlwZSBvZiBzZXJ2aWNlLCBNQlRBIENvbW11dGVyIFJhaWwgc3RhdHVzIGFuZCBzdGF0aW9ucyAoY3VycmVudCBhbmQgcHJvcG9zZWQsIGluY2x1ZGluZyB0aGUgR3JlZW5idXNoIGxpbmUpLCByYWlsIGxpbmUgb3duZXJzaGlwLCBhbmQgZnJlaWdodCBhbmQgcGFzc2VuZ2VyIG9wZXJhdGlvbi5TdG9yZWQgaW4gQXJjU0RFIGFuZCBkaXN0cmlidXRlZCBhcyBzaGFwZWZpbGVzLCB0aGUgc3RhdGV3aWRlIGxheWVycyBpbmNsdWRlIGFyY3MgKFRSQUlOU19BUkMpLCBub2RlcyAoc3RhdGlvbiBsb2NhdGlvbnMsIFRSQUlOU19OT0RFKSBhbmQgcm91dGVzIChUUkFJTlNfUlRFX1RSQUlOKS4gTWFzc0dJUyBhbHNvIG1ha2VzIGF2YWlsYWJsZSBhbiBBcmNJbmZvIGNvdmVyYWdlIHZlcnNpb24gbmFtZWQgVFJBSU5TLk90aGVyIHRyYW5wb3J0YXRpb24gbGluZXdvcmsgdGhhdCBhcHBlYXJzIG9uIHRoZSBVU0dTIDE6MTAwLDAwMC1zY2FsZSBtYXBzLCBzdWNoIGFzIHBpcGVsaW5lcyBhbmQgdHJhbnNtaXNzaW9uIGxpbmVzLCBhcmUgaW5jbHVkZWQgaW4gdGhlIFRSTlNMTlMgbGF5ZXIuIFRoZSBNQlRBIHN1YndheSBsaW5lcyBhcmUgaW5jbHVkZWQgaW4gdGhlIE1CVEEgbGF5ZXIuIl19LCJzb3J0IjpbMTIuMTg5ODkyLDEwODA3Nzc2MDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9QMzNNQlRBU18xOTk4IiwiX3Njb3JlIjoxMi4xODk4OTIsIl9zb3VyY2UiOnsic291cmNlIjoiTUlUIEdJUyBSZXNvdXJjZXMiLCJzb3VyY2VfbGluayI6Imh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfVVNfTUFfQk9TVE9OX1AzM01CVEFTXzE5OTgiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9QMzNNQlRBU18xOTk4IiwidGl0bGUiOiJNYXNzYWNodXNldHRzIChUcmFpbiBTdGF0aW9ucywgMTk5OCkiLCJjaXRhdGlvbiI6Ik1hc3NHSVMgKE9mZmljZSA6IE1hc3MuKS4gTWFzc2FjaHVzZXR0cyAoVHJhaW4gU3RhdGlvbnMsIDE5OTgpLiBNYXNzR0lTIChPZmZpY2UgOiBNYXNzLikuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19NQV9CT1NUT05fUDMzTUJUQVNfMTk5OCIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6Ik1hc3NHSVMgKE9mZmljZSA6IE1hc3MuKSIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMTk5OC0wNi0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIxOTk4LTA2LTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjE5OTgifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IlNERV9EQVRBLlVTX01BX0JPU1RPTl9QMzNNQlRBU18xOTk4Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifSx7InZhbHVlIjoiVVNfTUFfQk9TVE9OX1AzM01CVEFTXzE5OTgiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX0JPU1RPTl9QMzNNQlRBU18xOTk4LnNvdXJjZS5mZ2RjLnhtbCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJTb3VyY2UgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9CT1NUT05fUDMzTUJUQVNfMTk5OC5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX0JPU1RPTl9QMzNNQlRBU18xOTk4LnppcCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJEYXRhIFppcGZpbGUifV0sImxvY2F0aW9ucyI6W3sia2luZCI6IkJvdW5kaW5nIEJveCIsImdlb3NoYXBlIjoiQkJPWCAoLTczLjQyNjgyOCwgLTY5Ljk1NzY2MiwgNDIuODcxODczLCA0MS41MTAwMTApIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC03My40MjY4MjgsIC02OS45NTc2NjIsIDQyLjg3MTg3MywgNDEuNTEwMDEwKSJ9XSwicHVibGljYXRpb25faW5mb3JtYXRpb24iOlsiTWFzc0dJUyAoT2ZmaWNlIDogTWFzcy4pIiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUHVibGljIiwia2luZCI6IkFjY2VzcyJ9XSwic3ViamVjdHMiOlt7InZhbHVlIjpbIlRyYW5zcG9ydGF0aW9uIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiTWFzc2FjaHVzZXR0cyJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIlN1YndheSBzdGF0aW9ucyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMgQmF5IFRyYW5zcG9ydGF0aW9uIEF1dGhvcml0eSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIlJhaWxyb2FkcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbInRyYW5zcG9ydGF0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRW50aXR5IHBvaW50Il0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiVGhpcyBsYXllciByZXByZXNlbnRzIHRyYWluIHN0b3BzIGZvciB0aGUgQ29tbW9ud2VhbHRoIG9mIE1hc3NhY2h1c2V0dHMuIFRoZSBDZW50cmFsIFRyYW5zcG9ydGF0aW9uIFBsYW5uaWcgU3RhZmYgd2lsbCB1cGRhdGUgdGhlIGRhdGFsYXllciBhcyBuZWVkZWQuIl19LCJzb3J0IjpbMTIuMTg5ODkyLDg5NjY1OTIwMDAwMF19LHsiX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfVVNfTUFfUDNTVEFUTl8xOTk4IiwiX3Njb3JlIjoxMS45NTgyODIsIl9zb3VyY2UiOnsic291cmNlIjoiTUlUIEdJUyBSZXNvdXJjZXMiLCJzb3VyY2VfbGluayI6Imh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfVVNfTUFfUDNTVEFUTl8xOTk4IiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19NQV9QM1NUQVROXzE5OTgiLCJ0aXRsZSI6Ik1hc3NhY2h1c2V0dHMgKE1CVEEgVHJhaW4gU3RhdGlvbnMsIDE5OTgpIiwiY2l0YXRpb24iOiJNYXNzR0lTIChPZmZpY2UgOiBNYXNzLikuIE1hc3NhY2h1c2V0dHMgKE1CVEEgVHJhaW4gU3RhdGlvbnMsIDE5OTgpLiBNYXNzR0lTIChPZmZpY2UgOiBNYXNzLikuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19NQV9QM1NUQVROXzE5OTgiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJNYXNzR0lTIChPZmZpY2UgOiBNYXNzLikiLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjE5OTgtMDYtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMTk5OC0wNi0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIxOTk4In1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJTREVfREFUQS5VU19NQV9QM1NUQVROXzE5OTgiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9LHsidmFsdWUiOiJVU19NQV9QM1NUQVROXzE5OTgiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX1AzU1RBVE5fMTk5OC5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfTUFfUDNTVEFUTl8xOTk4Lm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfTUFfUDNTVEFUTl8xOTk4LnppcCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJEYXRhIFppcGZpbGUifV0sImxvY2F0aW9ucyI6W3sia2luZCI6IkJvdW5kaW5nIEJveCIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjI1NTI1NiwgLTcwLjk5MTU1NywgNDIuNDM2NjE1LCA0Mi4yMDczNzUpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC03MS4yNTUyNTYsIC03MC45OTE1NTcsIDQyLjQzNjYxNSwgNDIuMjA3Mzc1KSJ9XSwicHVibGljYXRpb25faW5mb3JtYXRpb24iOlsiTWFzc0dJUyAoT2ZmaWNlIDogTWFzcy4pIiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUHVibGljIiwia2luZCI6IkFjY2VzcyJ9XSwic3ViamVjdHMiOlt7InZhbHVlIjpbIlRyYW5zcG9ydGF0aW9uIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiTWFzc2FjaHVldHRzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiU3Vid2F5IHN0YXRpb25zIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiTWFzc2FjaHVzZXR0cyBCYXkgVHJhbnNwb3J0YXRpb24gQXV0aG9yaXR5Il0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiUmFpbHJvYWRzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsidHJhbnNwb3J0YXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJEYXRhc2V0cyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn0seyJ2YWx1ZSI6WyJFbnRpdHkgcG9pbnQiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9XSwic3VtbWFyeSI6WyJUaGlzIGRhdGFsYXllciBjb21wcmlzZXMgdGhlIGZvdXIgc3Vid2F5IGFuZCBzdHJlZXRjYXIgbGluZXMgaW4gdGhlIE1hc3NhY2h1c2V0dHMgQmF5IFRyYW5zcG9ydGF0aW9uIEF1dGhvcml0eeKAmXMgcmFwaWQgdHJhbnNpdCByYWlsIG5ldHdvcmsuIFRoZSBmb3VyIOKAmFTigJkgbGluZXMgLSBCbHVlLCBHcmVlbiwgT3JhbmdlLCBhbmQgUmVkIC0gYXJlIHJlcHJlc2VudGVkIHdpdGggbGluZXdvcmsuIFN0YXRpb25zIGFyZSBjb250YWluZWQgaW4gYSBub2RlIGZlYXR1cmUgY2xhc3MuIFN0YXRpb24gbmFtZXMgYXJlIGluY2x1ZGVkIGluIG5vZGV0ZXh0IGFuZCBhbm5vdGF0aW9uLiBUaGUgY292ZXJhZ2Ugd2FzIGRldmVsb3BlZCBieSB0aGUgQ2VudHJhbCBUcmFuc3BvcnRhdGlvbiBQbGFubmluZyBTdGFmZiAoQ1RQUykgYW5kIGlzIHN0b3JlZCBhcyBhIHNpbmdsZSBzdGF0ZXdpZGUgbGF5ZXIgY2FsbGVkIE1CVEEuIFRoZSBDZW50cmFsIFRyYW5zcG9ydGF0aW9uIFBsYW5uaWcgU3RhZmYgd2lsbCB1cGRhdGUgdGhlIGRhdGFsYXllciBhcyBuZWVkZWQuIl19LCJzb3J0IjpbMTEuOTU4MjgyLDg5NjY1OTIwMDAwMF19LHsiX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfVVNfUDFUUkFOXzE5OTkiLCJfc2NvcmUiOjExLjkzNDgyMywiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19QMVRSQU5fMTk5OSIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfVVNfUDFUUkFOXzE5OTkiLCJ0aXRsZSI6IlVTQSAoR0RUIFRyYW5zcG9ydGF0aW9uIFRlcm1pbmFscywgMTk5OSkiLCJjaXRhdGlvbiI6Ikdlb2dyYXBoaWMgRGF0YSBUZWNobm9sb2d5LCBJbmMuIChHRFQpLCBFbnZpcm9ubWVudGFsIFN5c3RlbXMgUmVzZWFyY2ggSW5zdGl0dXRlLCBJbmMuIChFU1JJKS4gVVNBIChHRFQgVHJhbnNwb3J0YXRpb24gVGVybWluYWxzLCAxOTk5KS4gRW52aXJvbm1lbnRhbCBTeXN0ZW1zIFJlc2VhcmNoIEluc3RpdHV0ZSAoRVNSSSkuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19QMVRSQU5fMTk5OSIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6Ikdlb2dyYXBoaWMgRGF0YSBUZWNobm9sb2d5LCBJbmMuIChHRFQpIiwia2luZCI6IkNyZWF0b3IifSx7InZhbHVlIjoiRW52aXJvbm1lbnRhbCBTeXN0ZW1zIFJlc2VhcmNoIEluc3RpdHV0ZSwgSW5jLiAoRVNSSSkiLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMDAtMTEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMTk5OS0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIxOTk5In1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJTREVfREFUQS5VU19QMVRSQU5fMTk5OSIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn0seyJ2YWx1ZSI6IlVTX1AxVFJBTl8xOTk5Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19QMVRSQU5fMTk5OS5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfUDFUUkFOXzE5OTkubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvU0RFX0RBVEFfVVNfUDFUUkFOXzE5OTkuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTMxLjcyMDAzOSwgLTY2Ljk4NDQ0NCwgNTUuMzYwOTIyLCAyNC41NTQ4MjcpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xMzEuNzIwMDM5LCAtNjYuOTg0NDQ0LCA1NS4zNjA5MjIsIDI0LjU1NDgyNykifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKEVTUkkpIiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIlVuaXRlZCBTdGF0ZXMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkVudGl0eSBwb2ludCJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIlUuUy4gR0RUIFRyYW5zcG9ydGF0aW9uIFRlcm1pbmFscyByZXByZXNlbnRzIGxvY2F0aW9ucyB3aXRoaW4gVW5pdGVkIFN0YXRlcyBmb3IgdHJhbnNwb3J0YXRpb24gdGVybWluYWxzIHN1Y2ggYXMgYnVzIHRlcm1pbmFscywgdHJhaW4gc3RhdGlvbnMsIG1hcmluZSB0ZXJtaW5hbHMsIGFuZCBvdGhlciBzaWduaWZpY2FudCB0cmFuc3BvcnRhdGlvbiBub2Rlcy4iXX0sInNvcnQiOlsxMS45MzQ4MjMsOTczMDM2ODAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9VU19QMVRSQU5TVEVSTVNfMjAwNSIsIl9zY29yZSI6MTEuODE1NzEzLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX1AxVFJBTlNURVJNU18yMDA1IiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19QMVRSQU5TVEVSTVNfMjAwNSIsInRpdGxlIjoiVVNBIChUcmFuc3BvcnRhdGlvbiBUZXJtaW5hbHMsIDIwMDUpIiwiY2l0YXRpb24iOiJUZWxlIEF0bGFzIE5vcnRoIEFtZXJpY2EsIEluYy4vR2VvZ3JhcGhpYyBEYXRhIFRlY2hub2xvZ3ksIEluYy4sIEVTUkkuIFVTQSAoVHJhbnNwb3J0YXRpb24gVGVybWluYWxzLCAyMDA1KS4gRW52aXJvbm1lbnRhbCBTeXN0ZW1zIFJlc2VhcmNoIEluc3RpdHV0ZSAoRVNSSSkuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19QMVRSQU5TVEVSTVNfMjAwNSIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6IlRlbGUgQXRsYXMgTm9ydGggQW1lcmljYSwgSW5jLi9HZW9ncmFwaGljIERhdGEgVGVjaG5vbG9neSwgSW5jLiIsImtpbmQiOiJDcmVhdG9yIn0seyJ2YWx1ZSI6IkVTUkkiLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMDUtMDQtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwNC0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDA1LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMTEtMDQtMjAifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwMS0wNS0yMCJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDA0In0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDUifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAxMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDAxIn1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJTREVfREFUQS5VU19QMVRSQU5TVEVSTVNfMjAwNSIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn0seyJ2YWx1ZSI6IlVTX1AxVFJBTlNURVJNU18yMDA1Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19QMVRSQU5TVEVSTVNfMjAwNS5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfUDFUUkFOU1RFUk1TXzIwMDUubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvU0RFX0RBVEFfVVNfUDFUUkFOU1RFUk1TXzIwMDUuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTY2LjQ5ODY5MiwgLTY1LjMwMjE0MywgNjEuMTIyMzc4LCAxOC4xNTIxOTMpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xNjYuNDk4NjkyLCAtNjUuMzAyMTQzLCA2MS4xMjIzNzgsIDE4LjE1MjE5MykifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKEVTUkkpIiwiR0lTIExhYiwgTUlUIExpYnJhcmllcyJdLCJyaWdodHMiOlt7ImRlc2NyaXB0aW9uIjoiUmVzdHJpY3RlZCIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIlVuaXRlZCBTdGF0ZXMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkVudGl0eSBwb2ludCJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIlUuUy4gVEFOQS9HRFQgVHJhbnNwb3J0YXRpb24gVGVybWluYWxzIHJlcHJlc2VudHMgbG9jYXRpb25zIHdpdGhpbiBVbml0ZWQgU3RhdGVzIGZvciB0cmFuc3BvcnRhdGlvbiB0ZXJtaW5hbHMgc3VjaCBhcyBidXMgdGVybWluYWxzLCB0cmFpbiBzdGF0aW9ucywgbWFyaW5lIHRlcm1pbmFscywgYW5kIG90aGVyIHNpZ25pZmljYW50IHRyYW5zcG9ydGF0aW9uIG5vZGVzLiJdfSwic29ydCI6WzExLjgxNTcxMywxMzAzMjU3NjAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9VU19NQV9ORVdUT05fUDMzU1RPUFNfMTk5OCIsIl9zY29yZSI6OC40Nzg1MjEsIl9zb3VyY2UiOnsic291cmNlIjoiTUlUIEdJUyBSZXNvdXJjZXMiLCJzb3VyY2VfbGluayI6Imh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfVVNfTUFfTkVXVE9OX1AzM1NUT1BTXzE5OTgiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX05FV1RPTl9QMzNTVE9QU18xOTk4IiwidGl0bGUiOiJOZXd0b24sIE1BIChNQlRBIFRyYWluIFN0b3BzLCAxOTk4KSIsImNpdGF0aW9uIjoiQ2l0eSBvZiBOZXd0b24gR0lTLiBOZXd0b24sIE1BIChNQlRBIFRyYWluIFN0b3BzLCAxOTk4KS4gTmV3dG9uIChNQSkgR2VvZ3JhcGhpYyBJbmZvcm1hdGlvbiBTeXN0ZW0gKENpdHkgb2YgTmV3dG9uIEdJUykuIEdlb3NwYXRpYWwgZGF0YS4gaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19NQV9ORVdUT05fUDMzU1RPUFNfMTk5OCIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6IkNpdHkgb2YgTmV3dG9uIEdJUyIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMTk5OC0wMS0wMSJ9XSwiZm9ybWF0IjoiVmVjdG9yIiwiaWRlbnRpZmllcnMiOlt7InZhbHVlIjoiU0RFX0RBVEEuVVNfTUFfTkVXVE9OX1AzM1NUT1BTXzE5OTgiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9LHsidmFsdWUiOiJVU19NQV9ORVdUT05fUDMzU1RPUFNfMTk5OCIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn1dLCJsYW5ndWFnZXMiOlsiZW5nIl0sImxpbmtzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfTUFfTkVXVE9OX1AzM1NUT1BTXzE5OTguc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX05FV1RPTl9QMzNTVE9QU18xOTk4Lm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfTUFfTkVXVE9OX1AzM1NUT1BTXzE5OTguemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMjUyODQwLCAtNzEuMTY0NTM0LCA0Mi4zNTE0NTksIDQyLjMxOTA3NykifSx7ImtpbmQiOiJHZW9tZXRyeSIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjI1Mjg0MCwgLTcxLjE2NDUzNCwgNDIuMzUxNDU5LCA0Mi4zMTkwNzcpIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJOZXd0b24gKE1BKSBHZW9ncmFwaGljIEluZm9ybWF0aW9uIFN5c3RlbSAoQ2l0eSBvZiBOZXd0b24gR0lTKSIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlB1YmxpYyIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMtLU5ld3RvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMgQmF5IFRyYW5zcG9ydGF0aW9uIEF1dGhvcml0eSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIlJhaWxyb2FkcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIlN1YndheSBzdGF0aW9ucyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbInRyYW5zcG9ydGF0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRW50aXR5IHBvaW50Il0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiVGhpcyBjb3ZlcmFnZSBjb250YWlucyBzdG9wcyBhbG9uZyB0aGUgTUJUQSB0cmFpbiBsaW5lcyBpbiBOZXd0b24uIl19LCJzb3J0IjpbOC40Nzg1MjEsODgzNjEyODAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9VU19NQV9CT1NUT05fUDNSUl8xOTk1IiwiX3Njb3JlIjo4LjEwODMxNCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19NQV9CT1NUT05fUDNSUl8xOTk1IiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19NQV9CT1NUT05fUDNSUl8xOTk1IiwidGl0bGUiOiJCb3N0b24sIE1BIChSYWlscm9hZHMsIDE5OTUpIiwiY2l0YXRpb24iOiJCb3N0b24gV2F0ZXIgYW5kIFNld2VyIENvbW1pc3Npb24uIEJvc3RvbiwgTUEgKFJhaWxyb2FkcywgMTk5NSkuIEJvc3RvbiBSZWRldmVsb3BtZW50IEF1dGhvcml0eS4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9QM1JSXzE5OTUiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJCb3N0b24gV2F0ZXIgYW5kIFNld2VyIENvbW1pc3Npb24iLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjE5OTUtMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMTk5NS0wMS0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIxOTk1In1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJTREVfREFUQS5VU19NQV9CT1NUT05fUDNSUl8xOTk1Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifSx7InZhbHVlIjoiVVNfTUFfQk9TVE9OX1AzUlJfMTk5NSIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn1dLCJsYW5ndWFnZXMiOlsiZW5nIl0sImxpbmtzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfTUFfQk9TVE9OX1AzUlJfMTk5NS5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfTUFfQk9TVE9OX1AzUlJfMTk5NS5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX0JPU1RPTl9QM1JSXzE5OTUuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTg2ODQ1LCAtNzAuOTkzNzk3LCA0Mi4zOTYwNjgsIDQyLjIyOTIxMykifSx7ImtpbmQiOiJHZW9tZXRyeSIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjE4Njg0NSwgLTcwLjk5Mzc5NywgNDIuMzk2MDY4LCA0Mi4yMjkyMTMpIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJCb3N0b24gUmVkZXZlbG9wbWVudCBBdXRob3JpdHkiLCJHSVMgTGFiLCBNSVQgTGlicmFyaWVzIl0sInJpZ2h0cyI6W3siZGVzY3JpcHRpb24iOiJQdWJsaWMiLCJraW5kIjoiQWNjZXNzIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiVHJhbnNwb3J0YXRpb24iXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJNYXNzYWNodXNldHRzLS1Cb3N0b24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJSYWlscm9hZHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIlN0cmluZyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIkNvbXBpbGF0aW9uIG9mIGFsbCByYWlscm9hZCBsaW5lcyBpbiB0aGUgQ2l0eSBvZiBCb3N0b24gKGV4Y2x1c2l2ZSBvZiBNQlRBIHRyYWluIGxpbmVzKS4iXX0sInNvcnQiOls4LjEwODMxNCw3ODg5MTg0MDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX1AzVFJBSU5fMTk5OCIsIl9zY29yZSI6Ny42MTY5NzYsIl9zb3VyY2UiOnsic291cmNlIjoiTUlUIEdJUyBSZXNvdXJjZXMiLCJzb3VyY2VfbGluayI6Imh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfVVNfTUFfUDNUUkFJTl8xOTk4IiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19NQV9QM1RSQUlOXzE5OTgiLCJ0aXRsZSI6Ik1hc3NhY2h1c2V0dHMgKFN0YXRld2lkZSBUcmFpbiBMaW5lcywgMTk5OCkiLCJjaXRhdGlvbiI6Ik1hc3NHSVMgKE9mZmljZSA6IE1hc3MuKS4gTWFzc2FjaHVzZXR0cyAoU3RhdGV3aWRlIFRyYWluIExpbmVzLCAxOTk4KS4gTWFzc0dJUyAoT2ZmaWNlIDogTWFzcy4pLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfVVNfTUFfUDNUUkFJTl8xOTk4IiwiY29udGVudF90eXBlIjpbIkdlb3NwYXRpYWwgZGF0YSJdLCJjb250cmlidXRvcnMiOlt7InZhbHVlIjoiTWFzc0dJUyAoT2ZmaWNlIDogTWFzcy4pIiwia2luZCI6IkNyZWF0b3IifV0sImRhdGVzIjpbeyJraW5kIjoiSXNzdWVkIiwidmFsdWUiOiIxOTk4LTA2LTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjE5OTgtMDYtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMTk5OCJ9XSwiZm9ybWF0IjoiVmVjdG9yIiwiaWRlbnRpZmllcnMiOlt7InZhbHVlIjoiU0RFX0RBVEEuVVNfTUFfUDNUUkFJTl8xOTk4Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifSx7InZhbHVlIjoiVVNfTUFfUDNUUkFJTl8xOTk4Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9QM1RSQUlOXzE5OTguc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX1AzVFJBSU5fMTk5OC5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX1AzVFJBSU5fMTk5OC56aXAiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiRGF0YSBaaXBmaWxlIn1dLCJsb2NhdGlvbnMiOlt7ImtpbmQiOiJCb3VuZGluZyBCb3giLCJnZW9zaGFwZSI6IkJCT1ggKC03My40MjY4MjgsIC02OS45NTU2MzIsIDQyLjg3MTg3MywgNDEuNTA5ODY4KSJ9LHsia2luZCI6Ikdlb21ldHJ5IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzMuNDI2ODI4LCAtNjkuOTU1NjMyLCA0Mi44NzE4NzMsIDQxLjUwOTg2OCkifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIk1hc3NHSVMgKE9mZmljZSA6IE1hc3MuKSIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlB1YmxpYyIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJMb2NvbW90aXZlcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMgQmF5IFRyYW5zcG9ydGF0aW9uIEF1dGhvcml0eSJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIlJhaWxyb2FkcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbInRyYW5zcG9ydGF0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiU3RyaW5nIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiVGhpcyBsYXllciByZXByZXNlbnRzIHRyYWluIGxpbmVzIGZvciB0aGUgQ29tbW9ud2VhbHRoIG9mIE1hc3NhY2h1c2V0dHMuIFRoZSBDZW50cmFsIFRyYW5zcG9ydGF0aW9uIFBsYW5uaWcgU3RhZmYgd2lsbCB1cGRhdGUgdGhlIGRhdGFsYXllciBhcyBuZWVkZWQuIl19LCJzb3J0IjpbNy42MTY5NzYsODk2NjU5MjAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9VU19NQV9CT1NUT05fUDMzQ01NVFJfMTk5OCIsIl9zY29yZSI6Ny40Njc5NTEsIl9zb3VyY2UiOnsic291cmNlIjoiTUlUIEdJUyBSZXNvdXJjZXMiLCJzb3VyY2VfbGluayI6Imh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfVVNfTUFfQk9TVE9OX1AzM0NNTVRSXzE5OTgiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX0JPU1RPTl9QMzNDTU1UUl8xOTk4IiwidGl0bGUiOiJNYXNzYWNodXNldHRzIChDb21tdXRlciBSYWlsLCAxOTk4KSIsImNpdGF0aW9uIjoiTWFzc0dJUyAoT2ZmaWNlIDogTWFzcy4pLiBNYXNzYWNodXNldHRzIChDb21tdXRlciBSYWlsLCAxOTk4KS4gTWFzc0dJUyAoT2ZmaWNlIDogTWFzcy4pLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfVVNfTUFfQk9TVE9OX1AzM0NNTVRSXzE5OTgiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJNYXNzR0lTIChPZmZpY2UgOiBNYXNzLikiLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjE5OTgtMDYtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMTk5OC0wNi0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIxOTk4In1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJTREVfREFUQS5VU19NQV9CT1NUT05fUDMzQ01NVFJfMTk5OCIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn0seyJ2YWx1ZSI6IlVTX01BX0JPU1RPTl9QMzNDTU1UUl8xOTk4Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9CT1NUT05fUDMzQ01NVFJfMTk5OC5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfTUFfQk9TVE9OX1AzM0NNTVRSXzE5OTgubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9CT1NUT05fUDMzQ01NVFJfMTk5OC56aXAiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiRGF0YSBaaXBmaWxlIn1dLCJsb2NhdGlvbnMiOlt7ImtpbmQiOiJCb3VuZGluZyBCb3giLCJnZW9zaGFwZSI6IkJCT1ggKC03MS44MjIyMTIsIC03MC42MjM0MjIsIDQyLjg3MTg3MywgNDEuNzgwNjk1KSJ9LHsia2luZCI6Ikdlb21ldHJ5IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuODIyMjEyLCAtNzAuNjIzNDIyLCA0Mi44NzE4NzMsIDQxLjc4MDY5NSkifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIk1hc3NHSVMgKE9mZmljZSA6IE1hc3MuKSIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlB1YmxpYyIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJUcmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIk1hc3NhY2h1ZXR0cyJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIkxvY29tb3RpdmVzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiTWFzc2FjaHVzZXRzIEJheSBUcmFuc3BvcnRhdGlvbiBBdXRob3JpdHkiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJSYWlscm9hZCJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbInRyYW5zcG9ydGF0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiU3RyaW5nIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiVGhpcyBsYXllciByZXByZXNlbnRzIGNvbW11dGVyIHJhaWwgdHJhaW4gbGluZXMgZm9yIHRoZSBCb3N0b24gTWV0cm9wb2xpdGFuIGFyZWEuIFRoZSBDZW50cmFsIFRyYW5zcG9ydGF0aW9uIFBsYW5uaWcgU3RhZmYgd2lsbCB1cGRhdGUgdGhlIGRhdGFsYXllciBhcyBuZWVkZWQuIl19LCJzb3J0IjpbNy40Njc5NTEsODk2NjU5MjAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9VU19NQV9QM1RSQUlOVFJBQ0tTXzIwMDQiLCJfc2NvcmUiOjcuMTQwMDg5LCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX1AzVFJBSU5UUkFDS1NfMjAwNCIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfVVNfTUFfUDNUUkFJTlRSQUNLU18yMDA0IiwidGl0bGUiOiJNYXNzYWNodXNldHRzIChUcmFpbiBUcmFja3MsIDIwMDQpIiwiY2l0YXRpb24iOiJNYXNzR0lTIChPZmZpY2UgOiBNYXNzLikuIE1hc3NhY2h1c2V0dHMgKFRyYWluIFRyYWNrcywgMjAwNCkuIE1hc3NHSVMgKE9mZmljZSA6IE1hc3MuKS4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX1AzVFJBSU5UUkFDS1NfMjAwNCIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6Ik1hc3NHSVMgKE9mZmljZSA6IE1hc3MuKSIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAwNC0wNC0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDA0LTA0LTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDQifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IlNERV9EQVRBLlVTX01BX1AzVFJBSU5UUkFDS1NfMjAwNCIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn0seyJ2YWx1ZSI6IlVTX01BX1AzVFJBSU5UUkFDS1NfMjAwNCIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn1dLCJsYW5ndWFnZXMiOlsiZW5nIl0sImxpbmtzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfTUFfUDNUUkFJTlRSQUNLU18yMDA0LnNvdXJjZS5mZ2RjLnhtbCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJTb3VyY2UgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9QM1RSQUlOVFJBQ0tTXzIwMDQubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9QM1RSQUlOVFJBQ0tTXzIwMDQuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzMuNDQ4ODMyLCAtNjkuOTIyNTc1LCA0Mi45NzkxODYsIDQxLjIzMjg5OCkifSx7ImtpbmQiOiJHZW9tZXRyeSIsImdlb3NoYXBlIjoiQkJPWCAoLTczLjQ0ODgzMiwgLTY5LjkyMjU3NSwgNDIuOTc5MTg2LCA0MS4yMzI4OTgpIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJNYXNzR0lTIChPZmZpY2UgOiBNYXNzLikiLCJHSVMgTGFiLCBNSVQgTGlicmFyaWVzIl0sInJpZ2h0cyI6W3siZGVzY3JpcHRpb24iOiJQdWJsaWMiLCJraW5kIjoiQWNjZXNzIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiVHJhbnNwb3J0YXRpb24iXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJNYXNzYWNodXNldHRzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiUmFpbHJvYWRzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiTWFzc2FjaHVzZXR0cyBCYXkgVHJhbnNwb3J0YXRpb24gQXV0aG9yaXR5Il0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsidHJhbnNwb3J0YXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJEYXRhc2V0cyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn0seyJ2YWx1ZSI6WyJTdHJpbmciXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9XSwic3VtbWFyeSI6WyJUaGUgQ2VudHJhbCBUcmFuc3BvcnRhdGlvbiBQbGFubmluZyBTdGFmZiB1cGRhdGVkIGFuZCBlbmhhbmNlZCByYWlscm9hZCBsaW5ld29yayBkaXN0cmlidXRlZCBieSB0aGUgVW5pdGVkIFN0YXRlcyBHZW9sb2dpY2FsIFN1cnZleSAoVVNHUykgYXMgMToxMDAsMDAwIERpZ2l0YWwgTGluZSBHcmFwaHMgKERMR3MpLiBUaGUgb3JpZ2luYWwgMToxMDAsMDAwIERMRyBkYXRhIHdlcmUgY29uZmxhdGVkIHRvIHRoZSBvcnRob3Bob3RvLWRlcml2ZWQgMTo1LDAwMCBDZW50ZXJsaW5lIGxpbmV3b3JrLiBUaGlzIGRhdGEgbGF5ZXIgaXMgbXVjaCBtb3JlIGRldGFpbGVkIHRoYW4gcHJlLUFwcmlsIDIwMDQgdHJhaW5zIGRhdGEgYW5kIGhhcyBtYW55IG1vcmUgYWJhbmRvbmVkIHJhaWwgbGluZXMuIEluIG1hbnkgaW5zdGFuY2VzIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgdHJhY2sgcGVyIHJhaWwgbGluZSwgYW5kIHJhaWwgeWFyZHMgYW5kIHNwdXJzIGFyZSBpbmNsdWRlZC5DVFBTIGFkZGVkIHNldmVyYWwgYXR0cmlidXRlcyBwZXJ0YWluaW5nIHRvIHR5cGUgb2Ygc2VydmljZSwgTUJUQSBDb21tdXRlciBSYWlsIHN0YXR1cyBhbmQgc3RhdGlvbnMgKGN1cnJlbnQgYW5kIHByb3Bvc2VkLCBpbmNsdWRpbmcgdGhlIEdyZWVuYnVzaCBsaW5lKSwgcmFpbCBsaW5lIG93bmVyc2hpcCwgYW5kIGZyZWlnaHQgYW5kIHBhc3NlbmdlciBvcGVyYXRpb24uU3RvcmVkIGluIEFyY1NERSBhbmQgZGlzdHJpYnV0ZWQgYXMgc2hhcGVmaWxlcywgdGhlIHN0YXRld2lkZSBsYXllcnMgaW5jbHVkZSBhcmNzIChUUkFJTlNfQVJDKSwgbm9kZXMgKHN0YXRpb24gbG9jYXRpb25zLCBUUkFJTlNfTk9ERSkgYW5kIHJvdXRlcyAoVFJBSU5TX1JURV9UUkFJTikuIE1hc3NHSVMgYWxzbyBtYWtlcyBhdmFpbGFibGUgYW4gQXJjSW5mbyBjb3ZlcmFnZSB2ZXJzaW9uIG5hbWVkIFRSQUlOUy5PdGhlciB0cmFucG9ydGF0aW9uIGxpbmV3b3JrIHRoYXQgYXBwZWFycyBvbiB0aGUgVVNHUyAxOjEwMCwwMDAtc2NhbGUgbWFwcywgc3VjaCBhcyBwaXBlbGluZXMgYW5kIHRyYW5zbWlzc2lvbiBsaW5lcywgYXJlIGluY2x1ZGVkIGluIHRoZSBUUk5TTE5TIGxheWVyLiBUaGUgTUJUQSBzdWJ3YXkgbGluZXMgYXJlIGluY2x1ZGVkIGluIHRoZSBNQlRBIGxheWVyLiJdfSwic29ydCI6WzcuMTQwMDg5LDEwODA3Nzc2MDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX1AzUlRTXzIwMDQiLCJfc2NvcmUiOjcuMTQwMDg5LCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX1AzUlRTXzIwMDQiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX1AzUlRTXzIwMDQiLCJ0aXRsZSI6Ik1hc3NhY2h1c2V0dHMgKFRyYWluIFJvdXRlcyAyMDA0KSIsImNpdGF0aW9uIjoiTWFzc0dJUyAoT2ZmaWNlIDogTWFzcy4pLiBNYXNzYWNodXNldHRzIChUcmFpbiBSb3V0ZXMgMjAwNCkuIE1hc3NHSVMgKE9mZmljZSA6IE1hc3MuKS4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX1AzUlRTXzIwMDQiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJNYXNzR0lTIChPZmZpY2UgOiBNYXNzLikiLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMDQtMDQtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwNC0wNC0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDA0In1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJTREVfREFUQS5VU19NQV9QM1JUU18yMDA0Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifSx7InZhbHVlIjoiVVNfTUFfUDNSVFNfMjAwNCIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn1dLCJsYW5ndWFnZXMiOlsiZW5nIl0sImxpbmtzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfTUFfUDNSVFNfMjAwNC5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfTUFfUDNSVFNfMjAwNC5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX01BX1AzUlRTXzIwMDQuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzMuNDQ4ODMyLCAtNjkuOTIyNTc1LCA0Mi45NzkxODYsIDQxLjIzMjg5OCkifSx7ImtpbmQiOiJHZW9tZXRyeSIsImdlb3NoYXBlIjoiQkJPWCAoLTczLjQ0ODgzMiwgLTY5LjkyMjU3NSwgNDIuOTc5MTg2LCA0MS4yMzI4OTgpIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJNYXNzR0lTIChPZmZpY2UgOiBNYXNzLikiLCJHSVMgTGFiLCBNSVQgTGlicmFyaWVzIl0sInJpZ2h0cyI6W3siZGVzY3JpcHRpb24iOiJQdWJsaWMiLCJraW5kIjoiQWNjZXNzIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiVHJhbnNwb3J0YXRpb24iXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJNYXNzYWNodXNldHRzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiTG9jb21vdGl2ZXMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJSYWlscm9hZHMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJNYXNzYWNodXNldHRzIEJheSBUcmFuc3BvcnRhdGlvbiBBdXRob3JpdHkiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJ0cmFuc3BvcnRhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIlN0cmluZyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIlRoZSBDZW50cmFsIFRyYW5zcG9ydGF0aW9uIFBsYW5uaW5nIFN0YWZmIHVwZGF0ZWQgYW5kIGVuaGFuY2VkIHJhaWxyb2FkIGxpbmV3b3JrIGRpc3RyaWJ1dGVkIGJ5IHRoZSBVbml0ZWQgU3RhdGVzIEdlb2xvZ2ljYWwgU3VydmV5IChVU0dTKSBhcyAxOjEwMCwwMDAgRGlnaXRhbCBMaW5lIEdyYXBocyAoRExHcykuIFRoZSBvcmlnaW5hbCAxOjEwMCwwMDAgRExHIGRhdGEgd2VyZSBjb25mbGF0ZWQgdG8gdGhlIG9ydGhvcGhvdG8tZGVyaXZlZCAxOjUsMDAwIENlbnRlcmxpbmUgbGluZXdvcmsuIFRoaXMgZGF0YSBsYXllciBpcyBtdWNoIG1vcmUgZGV0YWlsZWQgdGhhbiBwcmUtQXByaWwgMjAwNCB0cmFpbnMgZGF0YSBhbmQgaGFzIG1hbnkgbW9yZSBhYmFuZG9uZWQgcmFpbCBsaW5lcy4gSW4gbWFueSBpbnN0YW5jZXMgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSB0cmFjayBwZXIgcmFpbCBsaW5lLCBhbmQgcmFpbCB5YXJkcyBhbmQgc3B1cnMgYXJlIGluY2x1ZGVkLkNUUFMgYWRkZWQgc2V2ZXJhbCBhdHRyaWJ1dGVzIHBlcnRhaW5pbmcgdG8gdHlwZSBvZiBzZXJ2aWNlLCBNQlRBIENvbW11dGVyIFJhaWwgc3RhdHVzIGFuZCBzdGF0aW9ucyAoY3VycmVudCBhbmQgcHJvcG9zZWQsIGluY2x1ZGluZyB0aGUgR3JlZW5idXNoIGxpbmUpLCByYWlsIGxpbmUgb3duZXJzaGlwLCBhbmQgZnJlaWdodCBhbmQgcGFzc2VuZ2VyIG9wZXJhdGlvbi5TdG9yZWQgaW4gQXJjU0RFIGFuZCBkaXN0cmlidXRlZCBhcyBzaGFwZWZpbGVzLCB0aGUgc3RhdGV3aWRlIGxheWVycyBpbmNsdWRlIGFyY3MgKFRSQUlOU19BUkMpLCBub2RlcyAoc3RhdGlvbiBsb2NhdGlvbnMsIFRSQUlOU19OT0RFKSBhbmQgcm91dGVzIChUUkFJTlNfUlRFX1RSQUlOKS4gTWFzc0dJUyBhbHNvIG1ha2VzIGF2YWlsYWJsZSBhbiBBcmNJbmZvIGNvdmVyYWdlIHZlcnNpb24gbmFtZWQgVFJBSU5TLk90aGVyIHRyYW5wb3J0YXRpb24gbGluZXdvcmsgdGhhdCBhcHBlYXJzIG9uIHRoZSBVU0dTIDE6MTAwLDAwMC1zY2FsZSBtYXBzLCBzdWNoIGFzIHBpcGVsaW5lcyBhbmQgdHJhbnNtaXNzaW9uIGxpbmVzLCBhcmUgaW5jbHVkZWQgaW4gdGhlIFRSTlNMTlMgbGF5ZXIuIFRoZSBNQlRBIHN1YndheSBsaW5lcyBhcmUgaW5jbHVkZWQgaW4gdGhlIE1CVEEgbGF5ZXIuIl19LCJzb3J0IjpbNy4xNDAwODksMTA4MDc3NzYwMDAwMF19LHsiX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfVVNfTUFfQ0FNQlJJREdFX1AzRVhJVFNfMTk5NSIsIl9zY29yZSI6Ni41NjYzMDMzLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX0NBTUJSSURHRV9QM0VYSVRTXzE5OTUiLCJ0aW1kZXhfcmVjb3JkX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX01BX0NBTUJSSURHRV9QM0VYSVRTXzE5OTUiLCJ0aXRsZSI6IkNhbWJyaWRnZSwgTUEgKFRyYWluIGV4aXRzLCAxOTk1KSIsImNpdGF0aW9uIjoiQ2l0eSBvZiBDYW1icmlkZ2UgR0lTLiBDYW1icmlkZ2UsIE1BIChUcmFpbiBleGl0cywgMTk5NSkuIENhbWJyaWRnZSAoTUEpIEdlb2dyYXBoaWMgSW5mb3JtYXRpb24gU3lzdGVtIChDaXR5IG9mIENhbWJyaWRnZSBHSVMpLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfVVNfTUFfQ0FNQlJJREdFX1AzRVhJVFNfMTk5NSIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6IkNpdHkgb2YgQ2FtYnJpZGdlIEdJUyIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMTk5NS0wMy0yOSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIxOTk1LTAzLTI5In0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjE5OTUifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IlNERV9EQVRBLlVTX01BX0NBTUJSSURHRV9QM0VYSVRTXzE5OTUiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9LHsidmFsdWUiOiJVU19NQV9DQU1CUklER0VfUDNFWElUU18xOTk1Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9DQU1CUklER0VfUDNFWElUU18xOTk1LnNvdXJjZS5mZ2RjLnhtbCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJTb3VyY2UgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9DQU1CUklER0VfUDNFWElUU18xOTk1Lm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9yZXN0cmljdGVkL1NERV9EQVRBX1VTX01BX0NBTUJSSURHRV9QM0VYSVRTXzE5OTUuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTQ0NDE1LCAtNzEuMDc3Mzc0LCA0Mi4zOTg5MjYsIDQyLjM2MjE4NSkifSx7ImtpbmQiOiJHZW9tZXRyeSIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjE0NDQxNSwgLTcxLjA3NzM3NCwgNDIuMzk4OTI2LCA0Mi4zNjIxODUpIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJDYW1icmlkZ2UgKE1BKSBHZW9ncmFwaGljIEluZm9ybWF0aW9uIFN5c3RlbSAoQ2l0eSBvZiBDYW1icmlkZ2UgR0lTKSIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlJlc3RyaWN0ZWQiLCJraW5kIjoiQWNjZXNzIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiVHJhbnNwb3J0YXRpb24iXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJTdHJ1Y3R1cmUiXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJNYXNzYWNodXNldHRzLS1DYW1icmlkZ2UiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJTdWJ3YXkgc3RhdGlvbnMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJSYWlscm9hZCBzdGF0aW9ucyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbInRyYW5zcG9ydGF0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsic3RydWN0dXJlIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRW50aXR5IHBvaW50Il0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiVGhpcyBsYXllciBwcm92aWRlcyBhIHNwYXRpYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIGFsbCB0aGUgVCBzdGF0aW9ucyBhbmQgZW1lcmdlbmN5IGV4aXRzIGluIHRoZSBDaXR5IG9mIENhbWJyaWRnZS4iXX0sInNvcnQiOls2LjU2NjMwMzMsNzk2NDM1MjAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9VU19NQV9DQU1CUklER0VfRjhGSVJFU1RfMTk5NyIsIl9zY29yZSI6Ni4zMTEyMjg4LCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX0NBTUJSSURHRV9GOEZJUkVTVF8xOTk3IiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19NQV9DQU1CUklER0VfRjhGSVJFU1RfMTk5NyIsInRpdGxlIjoiQ2FtYnJpZGdlLCBNQSAoRmlyZSBTdGF0aW9ucywgMTk5NykiLCJjaXRhdGlvbiI6IkNhbWJyaWRnZSBGaXJlIERlcGFydG1lbnQuIENhbWJyaWRnZSwgTUEgKEZpcmUgU3RhdGlvbnMsIDE5OTcpLiBDYW1icmlkZ2UgKE1BKSBHZW9ncmFwaGljIEluZm9ybWF0aW9uIFN5c3RlbSAoQ2l0eSBvZiBDYW1icmlkZ2UgR0lTKS4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX01BX0NBTUJSSURHRV9GOEZJUkVTVF8xOTk3IiwiY29udGVudF90eXBlIjpbIkdlb3NwYXRpYWwgZGF0YSJdLCJjb250cmlidXRvcnMiOlt7InZhbHVlIjoiQ2FtYnJpZGdlIEZpcmUgRGVwYXJ0bWVudCIsImtpbmQiOiJDcmVhdG9yIn1dLCJkYXRlcyI6W3sia2luZCI6Iklzc3VlZCIsInZhbHVlIjoiMjAwOC0wNi0yNCJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIxOTk3LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjE5OTcifV0sImZvcm1hdCI6IlZlY3RvciIsImlkZW50aWZpZXJzIjpbeyJ2YWx1ZSI6IlVTX01BX0NBTUJSSURHRV9GOEZJUkVTVF8xOTk3Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifV0sImxhbmd1YWdlcyI6WyJlbmciXSwibGlua3MiOlt7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19NQV9DQU1CUklER0VfRjhGSVJFU1RfMTk5Ny5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfTUFfQ0FNQlJJREdFX0Y4RklSRVNUXzE5OTcubm9ybWFsaXplZC5hYXJkdmFyay5qc29uIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6Ik5vcm1hbGl6ZWQgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3Jlc3RyaWN0ZWQvU0RFX0RBVEFfVVNfTUFfQ0FNQlJJREdFX0Y4RklSRVNUXzE5OTcuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtNzEuMTQwOTM2LCAtNzEuMDc4NTkxLCA0Mi4zOTEwOTIsIDQyLjM2MjkzMykifSx7ImtpbmQiOiJHZW9tZXRyeSIsImdlb3NoYXBlIjoiQkJPWCAoLTcxLjE0MDkzNiwgLTcxLjA3ODU5MSwgNDIuMzkxMDkyLCA0Mi4zNjI5MzMpIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJDYW1icmlkZ2UgKE1BKSBHZW9ncmFwaGljIEluZm9ybWF0aW9uIFN5c3RlbSAoQ2l0eSBvZiBDYW1icmlkZ2UgR0lTKSIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlJlc3RyaWN0ZWQiLCJraW5kIjoiQWNjZXNzIn0seyJkZXNjcmlwdGlvbiI6IkNpdHkgb2YgQ2FtYnJpZGdlIEdJUyBEYXRhIFJlbGVhc2UgQWdyZWVtZW50MS4gVGhlIENpdHkgb2YgQ2FtYnJpZGdlIHByb3ZpZGVzIEdlb2dyYXBoaWMgSW5mb3JtYXRpb24gU3lzdGVtcyAoXCJHSVNcIikgZGF0YSBpbiBnb29kIGZhaXRoLiBUaGUgQ2l0eSBtYWtlcyBubyB3YXJyYW50eSBpbiByZWdhcmQgdG8gdGhlIGRhdGEgd2hhdHNvZXZlciwgaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8sIGEgd2FycmFudHkgb2YgdGhlIGFjY3VyYWN5IG9mIHRoZSBkYXRhLiBUaGUgcGFydHkgcmVxdWVzdGluZyB0aGUgZGF0YSAoaGVyZWFmdGVyIFwiUmVxdWVzdGVyXCIpIGFncmVlcyB0aGF0IHRoZSBDaXR5IGhhcyBubyBsaWFiaWxpdHkgYXJpc2luZyBmcm9tIGFueSBpbmNvbXBsZXRlLCBpbmNvcnJlY3QsIGluYWNjdXJhdGUgb3IgbWlzbGVhZGluZyBkYXRhIHByb3ZpZGVkLiAyLiBUaGUgQ2l0eSBtYWtlcyBubyB3YXJyYW50aWVzIG9mIGZpdG5lc3Mgb3IgbWVyY2hhbnRhYmlsaXR5IGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQgaW4gcmVnYXJkIHRvIHRoZSBkYXRhIHByb3ZpZGVkIHRvIHRoZSBSZXF1ZXN0ZXIgaGVyZXVuZGVyLiBUaGUgZGF0YSBwcm92aWRlZCBhcmUgcHJvdmlkZWQgXCJhcyBpc1wiIGFuZCB3aXRoIGFsbCBmYXVsdHMuIDMuIFRoZSBSZXF1ZXN0ZXIgd2lsbCBoYXZlIG5vIGNsYWltcyB0byBkYXRhIHVwZGF0ZXMuIDQuIFRoZSBSZXF1ZXN0ZXIgc2hhbGwgaW5kZW1uaWZ5IGFuZCBob2xkIGhhcm1sZXNzIHRoZSBDaXR5IGFuZCBpdHMgb2ZmaWNlcnMsIGVtcGxveWVlcyBhbmQgYWdlbnRzIGZyb20gYW5kIGFnYWluc3QgYWxsIGxvc3NlcywgY2xhaW1zLCBkZW1hbmRzLCBhY3Rpb25zLCBwYXltZW50cywgY29zdHMsIHN1aXRzLCBsaWFiaWxpdGllcywgaW5jbHVkaW5nIGF0dG9ybmV5J3MgZmVlcywgZXhwZW5zZXMgYW5kIGRhbWFnZXMgKGRpcmVjdCBvciBjb25zZXF1ZW50aWFsKSB3aGV0aGVyIG9yIG5vdCBjYXVzZWQgYnkgdGhlIG5lZ2xpZ2VuY2Ugb2YgdGhlIENpdHksIGl0cyBvZmZpY2VycywgZW1wbG95ZWVzIG9yIGFnZW50cywgd2hpY2ggYXJlIGluY3VycmVkIGJ5IG9yIHJlY292ZXJlZCBhZ2FpbnN0IHRoZSBDaXR5IGZvciBhbnkgcmVhc29uIHdoYXRzb2V2ZXIgYXJpc2luZyBvdXQgb2Ygb3IgcmVsYXRpbmcgdG8gdGhpcyBBZ3JlZW1lbnQsIG9yIHRoZSBkYXRhLCBvciB0byBhbnkgdXNlIHRvIHdoaWNoIHRoZSBSZXF1ZXN0ZXIgbWlnaHQgcHV0IHRoZSBkYXRhLiJ9XSwic3ViamVjdHMiOlt7InZhbHVlIjpbIlN0cnVjdHVyZSJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIk1hc3NhY2h1c2V0dHMtLUNhbWJyaWRnZSJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbIkZpcmUgc3RhdGlvbnMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJzdHJ1Y3R1cmUiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJEYXRhc2V0cyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn0seyJ2YWx1ZSI6WyJFbnRpdHkgcG9pbnQiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9XSwic3VtbWFyeSI6WyJUaGlzIHBvaW50IGxheWVyIGNvbnRhaW5zIHRoZSBlaWdodCBmaXJlIHN0YXRpb25zIHdpdGhpbiB0aGUgQ2l0eSBvZiBDYW1icmlkZ2UuIl19LCJzb3J0IjpbNi4zMTEyMjg4LDEyMTQyNjU2MDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX040MkFMVEZVRUxTXzIwMDYiLCJfc2NvcmUiOjYuMjQ0Njc0NywiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19ONDJBTFRGVUVMU18yMDA2IiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19ONDJBTFRGVUVMU18yMDA2IiwidGl0bGUiOiJVU0EgKEFsdGVybmF0aXZlIEZ1ZWwgU3RhdGlvbnMsIDIwMDYpIiwiY2l0YXRpb24iOiJOYXRpb25hbCBSZW5ld2FibGUgRW5lcmd5IExhYm9yYXRvcnkuIFVTQSAoQWx0ZXJuYXRpdmUgRnVlbCBTdGF0aW9ucywgMjAwNikuIFUuUy4gTmF0aW9uYWwgUmVuZXdhYmxlIEVuZXJneSBMYWJvcmF0b3J5IChOUkVMKS4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX040MkFMVEZVRUxTXzIwMDYiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJOYXRpb25hbCBSZW5ld2FibGUgRW5lcmd5IExhYm9yYXRvcnkiLCJraW5kIjoiQ3JlYXRvciJ9XSwiZGF0ZXMiOlt7ImtpbmQiOiJJc3N1ZWQiLCJ2YWx1ZSI6IjIwMDYtMTItMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwNi0xMi0wMSJ9LHsia2luZCI6IkNvdmVyYWdlIiwidmFsdWUiOiIyMDA2In1dLCJmb3JtYXQiOiJWZWN0b3IiLCJpZGVudGlmaWVycyI6W3sidmFsdWUiOiJTREVfREFUQS5VU19ONDJBTFRGVUVMU18yMDA2Iiwia2luZCI6Ik5vdCBzcGVjaWZpZWQifSx7InZhbHVlIjoiVVNfTjQyQUxURlVFTFNfMjAwNiIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn1dLCJsYW5ndWFnZXMiOlsiZW5nIl0sImxpbmtzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfTjQyQUxURlVFTFNfMjAwNi5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfTjQyQUxURlVFTFNfMjAwNi5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX040MkFMVEZVRUxTXzIwMDYuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTU3LjkyODUxNiwgLTY4LjAxMTE2OCwgNjQuODEyNjU4LCAxOS4zNzg2MTMpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xNTcuOTI4NTE2LCAtNjguMDExMTY4LCA2NC44MTI2NTgsIDE5LjM3ODYxMykifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIlUuUy4gTmF0aW9uYWwgUmVuZXdhYmxlIEVuZXJneSBMYWJvcmF0b3J5IChOUkVMKSIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlB1YmxpYyIsImtpbmQiOiJBY2Nlc3MifV0sInN1YmplY3RzIjpbeyJ2YWx1ZSI6WyJVbml0ZWQgU3RhdGVzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsidXRpbGl0aWVzQ29tbXVuaWNhdGlvbiJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkZ1ZWwgc3dpdGNoaW5nIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRW50aXR5IHBvaW50Il0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiQmlvZGllc2VsLCBDTkcsIGVsZWN0cmljLCA4NSUgZXRoYW5vbCwgaHlkcm9nZW4sIExORywgTFBHL1Byb3BhbmUgc3RhdGlvbnMgaW4gdGhlIFVuaXRlZCBTdGF0ZXMuIl19LCJzb3J0IjpbNi4yNDQ2NzQ3LDExNjQ5MzEyMDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX1AzQU1UUkFLXzIwMDkiLCJfc2NvcmUiOjUuOTc1OTk5NCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19QM0FNVFJBS18yMDA5IiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19QM0FNVFJBS18yMDA5IiwidGl0bGUiOiJVU0EgKEFtdHJhayBTdGF0aW9ucywgMjAwOSkiLCJjaXRhdGlvbiI6IkZlZGVyYWwgUmFpbHJvYWQgQWRtaW5pc3RyYXRpb24gKEZSQSkuIFVTQSAoQW10cmFrIFN0YXRpb25zLCAyMDA5KS4gR0lTIExhYiwgTUlUIExpYnJhcmllcy4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX1AzQU1UUkFLXzIwMDkiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJGZWRlcmFsIFJhaWxyb2FkIEFkbWluaXN0cmF0aW9uIChGUkEpIiwia2luZCI6IkNyZWF0b3IifV0sImRhdGVzIjpbeyJraW5kIjoiSXNzdWVkIiwidmFsdWUiOiIyMDA5LTAzLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDktMDMtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwOSJ9XSwiZm9ybWF0IjoiVmVjdG9yIiwiaWRlbnRpZmllcnMiOlt7InZhbHVlIjoiVVNfUDNBTVRSQUtfMjAwOSIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn1dLCJsYW5ndWFnZXMiOlsiZW5nIl0sImxpbmtzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfUDNBTVRSQUtfMjAwOS5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfUDNBTVRSQUtfMjAwOS5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX1AzQU1UUkFLXzIwMDkuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTI0LjIxMTk5MCwgLTY4LjY3MDYyMSwgNDguNzIwNDg2LCAyNS44NDk4NDgpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xMjQuMjExOTkwLCAtNjguNjcwNjIxLCA0OC43MjA0ODYsIDI1Ljg0OTg0OCkifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlB1YmxpYyIsImtpbmQiOiJBY2Nlc3MifSx7ImRlc2NyaXB0aW9uIjoiTm9uZS4gQWNrbm93bGVkZ21lbnQgb2YgdGhlIEZlZGVyYWwgUmFpbHJvYWQgQWRtaW5pc3RyYXRpb24gKEZSQSkgc2hvdWxkIGJlIGNpdGVkIGluIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGVzZSBkYXRhLiJ9XSwic3ViamVjdHMiOlt7InZhbHVlIjpbIlRyYW5zcG9ydGF0aW9uIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiVW5pdGVkIFN0YXRlcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbInRyYW5zcG9ydGF0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiUmFpbHJvYWRzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRW50aXR5IHBvaW50Il0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiVXBkYXRlZCBkYXRhYmFzZSBvZiB0aGUgRmVkZXJhbCBSYWlscm9hZCBBZG1pbmlzdHJhdGlvbidzIChGUkEpIEFtdHJhayBTdGF0aW9uIGRhdGFiYXNlLiBUaGlzIGRhdGFiYXNlIGlzIGEgZ2VvZ3JhcGhpYyBkYXRhIHNldCBjb250YWluaW5nIEFtdHJhayBpbnRlcmNpdHkgcmFpbHJvYWQgcGFzc2VuZ2VyIHRlcm1pbmFscyBpbiB0aGUgVW5pdGVkIFN0YXRlcyBhbmQgQ2FuYWRhLiBBdHRyaWJ1dGUgZGF0YSBpbmNsdWRlIHNlcnZpY2VzIGFuZCBwYXNzZW5nZXIgYW1lbml0aWVzIHByb3ZpZGVkIGF0IHRoZSBzdGF0aW9uLiJdfSwic29ydCI6WzUuOTc1OTk5NCwxMjM1ODY1NjAwMDAwXX0seyJfaW5kZXgiOiJnaXNtaXQtMjAyNC0wMi0wMnQxMS0zNi01NyIsIl9pZCI6Imdpc21pdDpTREVfREFUQV9VU19QM0FNVFJBS18yMDA4IiwiX3Njb3JlIjo1Ljk3NTk5OTQsIl9zb3VyY2UiOnsic291cmNlIjoiTUlUIEdJUyBSZXNvdXJjZXMiLCJzb3VyY2VfbGluayI6Imh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfVVNfUDNBTVRSQUtfMjAwOCIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfVVNfUDNBTVRSQUtfMjAwOCIsInRpdGxlIjoiVVNBIChBbXRyYWsgU3RhdGlvbnMsIDIwMDgpIiwiY2l0YXRpb24iOiJGZWRlcmFsIFJhaWxyb2FkIEFkbWluaXN0cmF0aW9uIChGUkEpLiBVU0EgKEFtdHJhayBTdGF0aW9ucywgMjAwOCkuIFUuUy4gRmVkZXJhbCBSYWlscm9hZCBBZG1pbmlzdHJhdGlvbiAoRlJBKS4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX1AzQU1UUkFLXzIwMDgiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJGZWRlcmFsIFJhaWxyb2FkIEFkbWluaXN0cmF0aW9uIChGUkEpIiwia2luZCI6IkNyZWF0b3IifV0sImRhdGVzIjpbeyJraW5kIjoiSXNzdWVkIiwidmFsdWUiOiIyMDA4LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDgtMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwOCJ9XSwiZm9ybWF0IjoiVmVjdG9yIiwiaWRlbnRpZmllcnMiOlt7InZhbHVlIjoiVVNfUDNBTVRSQUtfMjAwOCIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn1dLCJsYW5ndWFnZXMiOlsiZW5nIl0sImxpbmtzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfUDNBTVRSQUtfMjAwOC5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfUDNBTVRSQUtfMjAwOC5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX1AzQU1UUkFLXzIwMDguemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTI0LjIxMTk5MCwgLTY4LjY3MDYyMSwgNDguNzIwNDg2LCAyNS44NDk4NDgpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xMjQuMjExOTkwLCAtNjguNjcwNjIxLCA0OC43MjA0ODYsIDI1Ljg0OTg0OCkifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIlUuUy4gRmVkZXJhbCBSYWlscm9hZCBBZG1pbmlzdHJhdGlvbiAoRlJBKSIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlB1YmxpYyIsImtpbmQiOiJBY2Nlc3MifSx7ImRlc2NyaXB0aW9uIjoiTm9uZS4gQWNrbm93bGVkZ21lbnQgb2YgdGhlIEZlZGVyYWwgUmFpbHJvYWQgQWRtaW5pc3RyYXRpb24gKEZSQSkgc2hvdWxkIGJlIGNpdGVkIGluIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGVzZSBkYXRhLiJ9XSwic3ViamVjdHMiOlt7InZhbHVlIjpbIlRyYW5zcG9ydGF0aW9uIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiVW5pdGVkIFN0YXRlcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbInRyYW5zcG9ydGF0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiUmFpbHJvYWRzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRGF0YXNldHMiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9LHsidmFsdWUiOlsiRW50aXR5IHBvaW50Il0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifV0sInN1bW1hcnkiOlsiVGhlIEFtdHJhayBTdGF0aW9ucyBkYXRhYmFzZSBpcyBhIGdlb2dyYXBoaWMgZGF0YSBzZXQgY29udGFpbmluZyBBbXRyYWsgaW50ZXJjaXR5IHJhaWxyb2FkIHBhc3NlbmdlciB0ZXJtaW5hbHMgaW4gdGhlIFVuaXRlZCBTdGF0ZXMgYW5kIENhbmFkYS4gQXR0cmlidXRlIGRhdGEgaW5jbHVkZSBzZXJ2aWNlcyBhbmQgcGFzc2VuZ2VyIGFtZW5pdGllcyBwcm92aWRlZCBhdCB0aGUgc3RhdGlvbi4iXX0sInNvcnQiOls1Ljk3NTk5OTQsMTE5OTE0NTYwMDAwMF19LHsiX2luZGV4IjoiZ2lzbWl0LTIwMjQtMDItMDJ0MTEtMzYtNTciLCJfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfVVNfRjgxRklSRVNUQVRJT05TXzIwMDEiLCJfc2NvcmUiOjUuOTc1OTk5NCwiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19GODFGSVJFU1RBVElPTlNfMjAwMSIsInRpbWRleF9yZWNvcmRfaWQiOiJnaXNtaXQ6U0RFX0RBVEFfVVNfRjgxRklSRVNUQVRJT05TXzIwMDEiLCJ0aXRsZSI6IlVTQSAoRmlyZSBTdGF0aW9ucywgMjAwMSkiLCJjaXRhdGlvbiI6IlBCUyZKLCBBdGxhbnRhIEdBLCBkZXZlbG9wZWQgdGhpcyBkYXRhYmFzZSB1bmRlciBjb250cmFjdCB0byB0aGUgTmF0aW9uYWwgSW5zdGl0dXRlIG9mIEJ1aWxkaW5nIFNjaWVuY2VzLiBVU0EgKEZpcmUgU3RhdGlvbnMsIDIwMDEpLiBVLlMuIEZlZGVyYWwgRW1lcmdlbmN5IE1hbmFnZW1lbnQgQWdlbmN5IChGRU1BKS4gR2Vvc3BhdGlhbCBkYXRhLiBodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX0Y4MUZJUkVTVEFUSU9OU18yMDAxIiwiY29udGVudF90eXBlIjpbIkdlb3NwYXRpYWwgZGF0YSJdLCJjb250cmlidXRvcnMiOlt7InZhbHVlIjoiUEJTJkosIEF0bGFudGEgR0EsIGRldmVsb3BlZCB0aGlzIGRhdGFiYXNlIHVuZGVyIGNvbnRyYWN0IHRvIHRoZSBOYXRpb25hbCBJbnN0aXR1dGUgb2YgQnVpbGRpbmcgU2NpZW5jZXMuIiwia2luZCI6IkNyZWF0b3IifV0sImRhdGVzIjpbeyJraW5kIjoiSXNzdWVkIiwidmFsdWUiOiIyMDAzLTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDEtMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwMSJ9XSwiZm9ybWF0IjoiVmVjdG9yIiwiaWRlbnRpZmllcnMiOlt7InZhbHVlIjoiVVNfRjgxRklSRVNUQVRJT05TXzIwMDEiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9XSwibGFuZ3VhZ2VzIjpbImVuZyJdLCJsaW5rcyI6W3sidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX0Y4MUZJUkVTVEFUSU9OU18yMDAxLnNvdXJjZS5mZ2RjLnhtbCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJTb3VyY2UgTWV0YWRhdGEifSx7InVybCI6Imh0dHBzOi8vY2RuLmRldjEubWl0bGlicmFyeS5uZXQvZ2VvL3B1YmxpYy9TREVfREFUQV9VU19GODFGSVJFU1RBVElPTlNfMjAwMS5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX0Y4MUZJUkVTVEFUSU9OU18yMDAxLnppcCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJEYXRhIFppcGZpbGUifV0sImxvY2F0aW9ucyI6W3sia2luZCI6IkJvdW5kaW5nIEJveCIsImdlb3NoYXBlIjoiQkJPWCAoLTE3NC4wNzU2MTAsIC02NS45NjU4NjAsIDcwLjIxNjA1MCwgMTguMzk4ODIwKSJ9LHsia2luZCI6Ikdlb21ldHJ5IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTc0LjA3NTYxMCwgLTY1Ljk2NTg2MCwgNzAuMjE2MDUwLCAxOC4zOTg4MjApIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJVLlMuIEZlZGVyYWwgRW1lcmdlbmN5IE1hbmFnZW1lbnQgQWdlbmN5IChGRU1BKSIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlB1YmxpYyIsImtpbmQiOiJBY2Nlc3MifSx7ImRlc2NyaXB0aW9uIjoiTm9uZSJ9XSwic3ViamVjdHMiOlt7InZhbHVlIjpbIkxvY2F0aW9uIl0sImtpbmQiOiJEQ0FUOyBUaGVtZSJ9LHsidmFsdWUiOlsiVW5pdGVkIFN0YXRlcyJdLCJraW5kIjoiRHVibGluIENvcmU7IFNwYXRpYWwifSx7InZhbHVlIjpbImxvY2F0aW9uIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiRmlyZSBzdGF0aW9ucyJdLCJraW5kIjoiRHVibGluIENvcmU7IFN1YmplY3QifSx7InZhbHVlIjpbIkRhdGFzZXRzIl0sImtpbmQiOiJTdWJqZWN0IHNjaGVtZSBub3QgcHJvdmlkZWQifSx7InZhbHVlIjpbIkVudGl0eSBwb2ludCJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn1dLCJzdW1tYXJ5IjpbIlBCUyZKIGRldmVsb3BlZCB0aGlzIGRhdGFiYXNlIGZyb20gZGF0YSBhbHJlYWR5IGdlb2NvZGVkIHByb3ZpZGVkIGJ5IEluZm9VU0EgSW5jLiB0aGF0IGV4dHJhY3RlZCByZWNvcmRzIG9mIEZpcmUgc3RhdGlvbnMgYmFzZWQgb24gU0lDIGZvciB0aGUgZW50aXJlIFVuaXRlZCBTdGF0ZXMuIFRoZSBhdHRyaWJ1dGUgaW5mb3JtYXRpb24gcHJvdmlkZWQgYnkgSW5mb1VTQSBJbmMgZm9yIGVhY2ggRmlyZSBzdGF0aW9uIGZhY2lsaXR5IGluY2x1ZGVkOiBuYW1lLCBhZGRyZXNzLCBjaXR5LCB6aXAsIHN0YXRlLCBhbmQgZ2VvZ3JhcGhpY2FsIGNvb3JkaW5hdGVzLlRoZSBjb250YWN0IGluZm9ybWF0aW9uIGZvciB0aGUgSW5mb1VTQSwgSW5jIGlzOiBJbmZvVVNBLCBJbmMuIDU3MTEgUy4gODZ0aCBDaXJjbGUsIFBPIEJveCAyNzM0NywgT21haGEsIE5FIDY4MTI3LTAzNDcsICg0MDIpIDkzMCAzNTAwLiBUaGUgSW5mb1VTQSwgSW5jIHdlYnNpdGUgYWRkcmVzcyBpcyBodHRwOi8vd3d3LmluZm91c2EuY29tL0RhdGEgcHJvdmlkZWQgYnkgVVJTIENvcnBvcmF0aW9uIHdhcyBpbmNvcnBvcmF0ZWQgZm9yIHRoZSBzdGF0ZSBvZiBBbGFza2EuIEZvciBlYWNoIGl0ZW0gb3IgZmVhdHVyZSBwcm92aWRlZCwgYSBub3RlIHdhcyBpbmNsdWRlZCB1bmRlciB0aGUgQ29tbWVudCBmaWVsZC4gRm9yIG1ldGFkYXRhIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgZGF0YSwgcGxlYXNlIGNvbnRhY3Q6IExhdXJhIFlvdW5nVVJTIENvcnBvcmF0aW9uMjcwMCBHYW1iZWxsLCBTdWl0ZSAyMDBBbmNob3JhZ2UsIEFsYXNrYSA5OTUwM1Bob25lIC0gOTA3LjI2MS45NzA0RmF4IC0gOTA3LjU2Mi4xMjk3Rm9yIG1ldGFkYXRhIGluZm9ybWF0aW9uIG9uIHRoZSBTb3V0aCBDYXJvbGluYSBEYXRhLCBwbGVhc2UgY29udGFjdDpKb2huIEtuaWdodFNvdXRoIENhcm9saW5hIEVtZXJnZW5jeSBEaXZpc2lvbiAoU0NFTUQpMTEwMCBGaXNoIEhhdGNoZXJ5IFJkV2VzdCBDb2x1bWJpYSwgU0MgMjkxNzJQaG9uZTogODAzLTczNy04NTAwIl19LCJzb3J0IjpbNS45NzU5OTk0LDEwNDEzNzkyMDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX1AzRlhEVFJBTlNJVFNUQVROXzIwMDQiLCJfc2NvcmUiOjUuMjM4Nzg3NywiX3NvdXJjZSI6eyJzb3VyY2UiOiJNSVQgR0lTIFJlc291cmNlcyIsInNvdXJjZV9saW5rIjoiaHR0cHM6Ly9zZWFyY2gubGlicmFyaWVzLm1pdC5lZHUvcmVjb3JkL2dpc21pdDpTREVfREFUQV9VU19QM0ZYRFRSQU5TSVRTVEFUTl8yMDA0IiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19QM0ZYRFRSQU5TSVRTVEFUTl8yMDA0IiwidGl0bGUiOiJVU0EgKEZpeGVkLUd1aWRld2F5IFRyYW5zaXQgU3RhdGlvbnMsIDIwMDQpIiwiY2l0YXRpb24iOiJGZWRlcmFsIFRyYW5zaXQgQWRtaW5pc3RyYXRpb24gKEZUQSksIFJlc2VhcmNoIGFuZCBJbm5vdmF0aXZlIFRlY2hub2xvZ3kgQWRtaW5pc3RyYXRpb24ncyBCdXJlYXUgb2YgVHJhbnNwb3J0YXRpb24gU3RhdGlzdGljcyAoUklUQS9CVFMpLiBVU0EgKEZpeGVkLUd1aWRld2F5IFRyYW5zaXQgU3RhdGlvbnMsIDIwMDQpLiBVLlMuIEJ1cmVhdSBvZiBUcmFuc3BvcnRhdGlvbiBTdGF0aXN0aWNzIChCVFMpLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfVVNfUDNGWERUUkFOU0lUU1RBVE5fMjAwNCIsImNvbnRlbnRfdHlwZSI6WyJHZW9zcGF0aWFsIGRhdGEiXSwiY29udHJpYnV0b3JzIjpbeyJ2YWx1ZSI6IkZlZGVyYWwgVHJhbnNpdCBBZG1pbmlzdHJhdGlvbiAoRlRBKSIsImtpbmQiOiJDcmVhdG9yIn0seyJ2YWx1ZSI6IlJlc2VhcmNoIGFuZCBJbm5vdmF0aXZlIFRlY2hub2xvZ3kgQWRtaW5pc3RyYXRpb24ncyBCdXJlYXUgb2YgVHJhbnNwb3J0YXRpb24gU3RhdGlzdGljcyAoUklUQS9CVFMpIiwia2luZCI6IkNyZWF0b3IifV0sImRhdGVzIjpbeyJraW5kIjoiSXNzdWVkIiwidmFsdWUiOiIyMDA4LTAxLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjIwMDQtMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMjAwNCJ9XSwiZm9ybWF0IjoiVmVjdG9yIiwiaWRlbnRpZmllcnMiOlt7InZhbHVlIjoiVVNfUDNGWERUUkFOU0lUU1RBVE5fMjAwNCIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn1dLCJsYW5ndWFnZXMiOlsiZW5nIl0sImxpbmtzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfUDNGWERUUkFOU0lUU1RBVE5fMjAwNC5zb3VyY2UuZmdkYy54bWwiLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiU291cmNlIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfUDNGWERUUkFOU0lUU1RBVE5fMjAwNC5ub3JtYWxpemVkLmFhcmR2YXJrLmpzb24iLCJraW5kIjoiRG93bmxvYWQiLCJ0ZXh0IjoiTm9ybWFsaXplZCBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX1AzRlhEVFJBTlNJVFNUQVROXzIwMDQuemlwIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IkRhdGEgWmlwZmlsZSJ9XSwibG9jYXRpb25zIjpbeyJraW5kIjoiQm91bmRpbmcgQm94IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTIyLjk5MTI3MywgLTcwLjYyNjM4MCwgNDcuOTc0ODAwLCAyNS42ODAyNDMpIn0seyJraW5kIjoiR2VvbWV0cnkiLCJnZW9zaGFwZSI6IkJCT1ggKC0xMjIuOTkxMjczLCAtNzAuNjI2MzgwLCA0Ny45NzQ4MDAsIDI1LjY4MDI0MykifV0sInB1YmxpY2F0aW9uX2luZm9ybWF0aW9uIjpbIlUuUy4gQnVyZWF1IG9mIFRyYW5zcG9ydGF0aW9uIFN0YXRpc3RpY3MgKEJUUykiLCJHSVMgTGFiLCBNSVQgTGlicmFyaWVzIl0sInJpZ2h0cyI6W3siZGVzY3JpcHRpb24iOiJQdWJsaWMiLCJraW5kIjoiQWNjZXNzIn0seyJkZXNjcmlwdGlvbiI6IkFja25vd2xlZGdtZW50IG9mIHRoZSBSZXNlYXJjaCBhbmQgSW5ub3ZhdGl2ZSBUZWNobm9sb2d5IEFkbWluaXN0cmF0aW9uJ3MgQnVyZWF1IG9mIFRyYW5zcG9ydGF0aW9uIFN0YXRpc3RpY3MgKFJJVEEvQlRTKSBOYXRpb25hbCBUcmFuc3BvcnRhdGlvbiBBdGxhcyBEYXRhYmFzZXMgKE5UQUQpIDIwMDggd291bGQgYmUgYXBwcmVjaWF0ZWQgaW4gcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoZXNlIGRhdGEuIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiVHJhbnNwb3J0YXRpb24iXSwia2luZCI6IkRDQVQ7IFRoZW1lIn0seyJ2YWx1ZSI6WyJVbml0ZWQgU3RhdGVzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3BhdGlhbCJ9LHsidmFsdWUiOlsiVHJhbnNwb3J0YXRpb24iXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJEYXRhc2V0cyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn0seyJ2YWx1ZSI6WyJFbnRpdHkgcG9pbnQiXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9XSwic3VtbWFyeSI6WyJWZXJzaW9uIDIwMDQgb2YgdGhlIEZpeGVkLUd1aWRld2F5IFRyYW5zaXQgTmV0d29yayBpcyBhIG5ldHdvcmsgZGF0YWJhc2Ugb2YgdGhlIG5hdGlvbidzIGZpeGVkLWd1aWRld2F5IHRyYW5zaXQgc3lzdGVtcy4gVGhlIGRhdGEgc2V0IGNvdmVycyBzeXN0ZW1zIGluIGNpdGllcyBkZWZpbmVkIGFzIEZUQSdzIHVuaXZlcnNlIG9mIGNpdGllcyBhbmQgaW5jbHVkZXMgaGVhdnkgcmFpbCwgbGlnaHQgcmFpbCwgbW9ub3JhaWwsIGNhYmxlIGNhciwgaW5jbGluZWQgcGxhbmUsIGFuZCBhdXRvbWF0ZWQgZ3VpZGV3YXkuIl19LCJzb3J0IjpbNS4yMzg3ODc3LDExOTkxNDU2MDAwMDBdfSx7Il9pbmRleCI6Imdpc21pdC0yMDI0LTAyLTAydDExLTM2LTU3IiwiX2lkIjoiZ2lzbWl0OlNERV9EQVRBX1VTX0UyNURNQV8yMDAwIiwiX3Njb3JlIjo1LjIzNjEyLCJfc291cmNlIjp7InNvdXJjZSI6Ik1JVCBHSVMgUmVzb3VyY2VzIiwic291cmNlX2xpbmsiOiJodHRwczovL3NlYXJjaC5saWJyYXJpZXMubWl0LmVkdS9yZWNvcmQvZ2lzbWl0OlNERV9EQVRBX1VTX0UyNURNQV8yMDAwIiwidGltZGV4X3JlY29yZF9pZCI6Imdpc21pdDpTREVfREFUQV9VU19FMjVETUFfMjAwMCIsInRpdGxlIjoiVVNBIChEZXNpZ25hdGVkIE1hcmtldCBBcmVhcywgMjAwMCkiLCJjaXRhdGlvbiI6Ikdlb2dyYXBoaWMgRGF0YSBUZWNobm9sb2d5LCBJbmMuIChHRFQpLCBFbnZpcm9ubWVudGFsIFN5c3RlbXMgUmVzZWFyY2ggSW5zdGl0dXRlLCBJbmMuIChFU1JJKS4gVVNBIChEZXNpZ25hdGVkIE1hcmtldCBBcmVhcywgMjAwMCkuIEVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUgKEVTUkkpLiBHZW9zcGF0aWFsIGRhdGEuIGh0dHBzOi8vc2VhcmNoLmxpYnJhcmllcy5taXQuZWR1L3JlY29yZC9naXNtaXQ6U0RFX0RBVEFfVVNfRTI1RE1BXzIwMDAiLCJjb250ZW50X3R5cGUiOlsiR2Vvc3BhdGlhbCBkYXRhIl0sImNvbnRyaWJ1dG9ycyI6W3sidmFsdWUiOiJHZW9ncmFwaGljIERhdGEgVGVjaG5vbG9neSwgSW5jLiAoR0RUKSIsImtpbmQiOiJDcmVhdG9yIn0seyJ2YWx1ZSI6IkVudmlyb25tZW50YWwgU3lzdGVtcyBSZXNlYXJjaCBJbnN0aXR1dGUsIEluYy4gKEVTUkkpIiwia2luZCI6IkNyZWF0b3IifV0sImRhdGVzIjpbeyJraW5kIjoiSXNzdWVkIiwidmFsdWUiOiIyMDAwLTExLTAxIn0seyJraW5kIjoiQ292ZXJhZ2UiLCJ2YWx1ZSI6IjE5OTktMDEtMDEifSx7ImtpbmQiOiJDb3ZlcmFnZSIsInZhbHVlIjoiMTk5OSJ9XSwiZm9ybWF0IjoiVmVjdG9yIiwiaWRlbnRpZmllcnMiOlt7InZhbHVlIjoiU0RFX0RBVEEuVVNfRTI1RE1BXzIwMDAiLCJraW5kIjoiTm90IHNwZWNpZmllZCJ9LHsidmFsdWUiOiJVU19FMjVETUFfMjAwMCIsImtpbmQiOiJOb3Qgc3BlY2lmaWVkIn1dLCJsYW5ndWFnZXMiOlsiZW5nIl0sImxpbmtzIjpbeyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9wdWJsaWMvU0RFX0RBVEFfVVNfRTI1RE1BXzIwMDAuc291cmNlLmZnZGMueG1sIiwia2luZCI6IkRvd25sb2FkIiwidGV4dCI6IlNvdXJjZSBNZXRhZGF0YSJ9LHsidXJsIjoiaHR0cHM6Ly9jZG4uZGV2MS5taXRsaWJyYXJ5Lm5ldC9nZW8vcHVibGljL1NERV9EQVRBX1VTX0UyNURNQV8yMDAwLm5vcm1hbGl6ZWQuYWFyZHZhcmsuanNvbiIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJOb3JtYWxpemVkIE1ldGFkYXRhIn0seyJ1cmwiOiJodHRwczovL2Nkbi5kZXYxLm1pdGxpYnJhcnkubmV0L2dlby9yZXN0cmljdGVkL1NERV9EQVRBX1VTX0UyNURNQV8yMDAwLnppcCIsImtpbmQiOiJEb3dubG9hZCIsInRleHQiOiJEYXRhIFppcGZpbGUifV0sImxvY2F0aW9ucyI6W3sia2luZCI6IkJvdW5kaW5nIEJveCIsImdlb3NoYXBlIjoiQkJPWCAoLTE2MC4yNDY5MDksIC02Ni45NTEwMDcsIDY1LjQ0NTAxMywgMTguOTExMTYwKSJ9LHsia2luZCI6Ikdlb21ldHJ5IiwiZ2Vvc2hhcGUiOiJCQk9YICgtMTYwLjI0NjkwOSwgLTY2Ljk1MTAwNywgNjUuNDQ1MDEzLCAxOC45MTExNjApIn1dLCJwdWJsaWNhdGlvbl9pbmZvcm1hdGlvbiI6WyJFbnZpcm9ubWVudGFsIFN5c3RlbXMgUmVzZWFyY2ggSW5zdGl0dXRlIChFU1JJKSIsIkdJUyBMYWIsIE1JVCBMaWJyYXJpZXMiXSwicmlnaHRzIjpbeyJkZXNjcmlwdGlvbiI6IlJlc3RyaWN0ZWQiLCJraW5kIjoiQWNjZXNzIn1dLCJzdWJqZWN0cyI6W3sidmFsdWUiOlsiQm91bmRhcmllcyJdLCJraW5kIjoiRENBVDsgVGhlbWUifSx7InZhbHVlIjpbIlVuaXRlZCBTdGF0ZXMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTcGF0aWFsIn0seyJ2YWx1ZSI6WyJib3VuZGFyaWVzIl0sImtpbmQiOiJEdWJsaW4gQ29yZTsgU3ViamVjdCJ9LHsidmFsdWUiOlsiQWRtaW5pc3RyYXRpdmUgYW5kIHBvbGl0aWNhbCBkaXZpc2lvbnMiXSwia2luZCI6IkR1YmxpbiBDb3JlOyBTdWJqZWN0In0seyJ2YWx1ZSI6WyJEYXRhc2V0cyJdLCJraW5kIjoiU3ViamVjdCBzY2hlbWUgbm90IHByb3ZpZGVkIn0seyJ2YWx1ZSI6WyJHLXBvbHlnb24iXSwia2luZCI6IlN1YmplY3Qgc2NoZW1lIG5vdCBwcm92aWRlZCJ9XSwic3VtbWFyeSI6WyJBIFUuUy4gRGVzaWduYXRlZCBNYXJrZXQgQXJlYSAoRE1BKSBpcyBnZW5lcmFsbHkgdGhlIGdyb3VwIG9mIHN1cnJvdW5kaW5nIGNvdW50aWVzIG9yIHNwbGl0IGNvdW50aWVzIChieSBmaXZlLWRpZ2l0IFpJUCkgaW4gd2hpY2ggbWV0cm9wb2xpdGFuIGNlbnRyYWwgYXJlYSBjb21tZXJjaWFsIFRWIHN0YXRpb25zIGFjaGlldmUgdGhlIGxhcmdlc3QgYXVkaWVuY2Ugc2hhcmUuIl19LCJzb3J0IjpbNS4yMzYxMiw5NzMwMzY4MDAwMDBdfV19LCJhZ2dyZWdhdGlvbnMiOnsibGFuZ3VhZ2VzIjp7ImRvY19jb3VudF9lcnJvcl91cHBlcl9ib3VuZCI6MCwic3VtX290aGVyX2RvY19jb3VudCI6MCwiYnVja2V0cyI6W3sia2V5IjoiZW5nIiwiZG9jX2NvdW50IjozOH1dfSwiY29udGVudF90eXBlIjp7ImRvY19jb3VudF9lcnJvcl91cHBlcl9ib3VuZCI6MCwic3VtX290aGVyX2RvY19jb3VudCI6MCwiYnVja2V0cyI6W3sia2V5IjoiZ2Vvc3BhdGlhbCBkYXRhIiwiZG9jX2NvdW50IjozOH1dfSwic3ViamVjdHMiOnsiZG9jX2NvdW50Ijo1MzMsInN1YmplY3RfbmFtZXMiOnsiZG9jX2NvdW50X2Vycm9yX3VwcGVyX2JvdW5kIjowLCJzdW1fb3RoZXJfZG9jX2NvdW50IjozNDgsImJ1Y2tldHMiOlt7ImtleSI6InRyYW5zcG9ydGF0aW9uIiwiZG9jX2NvdW50Ijo0MH0seyJrZXkiOiJkYXRhc2V0cyIsImRvY19jb3VudCI6Mzh9LHsia2V5IjoiZW50aXR5IHBvaW50IiwiZG9jX2NvdW50IjoyM30seyJrZXkiOiJzdHJ1Y3R1cmUiLCJkb2NfY291bnQiOjIwfSx7ImtleSI6InVuaXRlZCBzdGF0ZXMiLCJkb2NfY291bnQiOjE1fSx7ImtleSI6InJhaWxyb2FkcyIsImRvY19jb3VudCI6MTR9LHsia2V5Ijoic3RyaW5nIiwiZG9jX2NvdW50IjoxMH0seyJrZXkiOiJtYXNzYWNodXNldHRzIGJheSB0cmFuc3BvcnRhdGlvbiBhdXRob3JpdHkiLCJkb2NfY291bnQiOjl9LHsia2V5IjoibG9jYXRpb24iLCJkb2NfY291bnQiOjh9LHsia2V5IjoibWFzc2FjaHVzZXR0cyIsImRvY19jb3VudCI6OH1dfX0sImNvbnRlbnRfZm9ybWF0Ijp7ImRvY19jb3VudF9lcnJvcl91cHBlcl9ib3VuZCI6MCwic3VtX290aGVyX2RvY19jb3VudCI6MCwiYnVja2V0cyI6W3sia2V5IjoidmVjdG9yIiwiZG9jX2NvdW50IjozOH1dfSwibGl0ZXJhcnlfZm9ybSI6eyJkb2NfY291bnRfZXJyb3JfdXBwZXJfYm91bmQiOjAsInN1bV9vdGhlcl9kb2NfY291bnQiOjAsImJ1Y2tldHMiOltdfSwic291cmNlIjp7ImRvY19jb3VudF9lcnJvcl91cHBlcl9ib3VuZCI6MCwic3VtX290aGVyX2RvY19jb3VudCI6MCwiYnVja2V0cyI6W3sia2V5IjoibWl0IGdpcyByZXNvdXJjZXMiLCJkb2NfY291bnQiOjM4fV19LCJjb250cmlidXRvcnMiOnsiZG9jX2NvdW50Ijo0NiwiY29udHJpYnV0b3JfbmFtZXMiOnsiZG9jX2NvdW50X2Vycm9yX3VwcGVyX2JvdW5kIjowLCJzdW1fb3RoZXJfZG9jX2NvdW50IjoxMiwiYnVja2V0cyI6W3sia2V5IjoibWFzc2dpcyAob2ZmaWNlIDogbWFzcy4pIiwiZG9jX2NvdW50IjoxMH0seyJrZXkiOiJjaXR5IG9mIGNhbWJyaWRnZSBnaXMiLCJkb2NfY291bnQiOjR9LHsia2V5IjoibWFzc2FjaHVzZXR0cy0tYnJvb2tsaW5lICh0b3duKSIsImRvY19jb3VudCI6NH0seyJrZXkiOiJlbnZpcm9ubWVudGFsIHN5c3RlbXMgcmVzZWFyY2ggaW5zdGl0dXRlIChyZWRsYW5kcywgY2FsaWYuKSIsImRvY19jb3VudCI6M30seyJrZXkiOiJwbGF0dHMiLCJkb2NfY291bnQiOjN9LHsia2V5IjoiZW52aXJvbm1lbnRhbCBzeXN0ZW1zIHJlc2VhcmNoIGluc3RpdHV0ZSwgaW5jLiAoZXNyaSkiLCJkb2NfY291bnQiOjJ9LHsia2V5IjoiZXNyaSIsImRvY19jb3VudCI6Mn0seyJrZXkiOiJmZWRlcmFsIHJhaWxyb2FkIGFkbWluaXN0cmF0aW9uIChmcmEpIiwiZG9jX2NvdW50IjoyfSx7ImtleSI6Imdlb2dyYXBoaWMgZGF0YSB0ZWNobm9sb2d5LCBpbmMuIChnZHQpIiwiZG9jX2NvdW50IjoyfSx7ImtleSI6InRlbGUgYXRsYXMgbm9ydGggYW1lcmljYSwgaW5jLiIsImRvY19jb3VudCI6Mn1dfX19fQ== + recorded_at: Wed, 14 Feb 2024 16:44:24 GMT +recorded_with: VCR 6.2.0 From 1ed5cbc2da135f5516b75627732903b46f5b9ed8 Mon Sep 17 00:00:00 2001 From: Matthew Bernhardt Date: Thu, 15 Feb 2024 10:01:48 -0500 Subject: [PATCH 2/2] Respond to code review feedback --- test/controllers/graphql_controller_v2_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/controllers/graphql_controller_v2_test.rb b/test/controllers/graphql_controller_v2_test.rb index 585a45bd..ae963252 100644 --- a/test/controllers/graphql_controller_v2_test.rb +++ b/test/controllers/graphql_controller_v2_test.rb @@ -399,7 +399,7 @@ def setup end test 'graphqlv2 geobox search with geodistance search' do - # Should this work? It does. + # This is not a recommended way to work, but it does function. VCR.use_cassette('graphqlv2 geobox with geodistance') do post '/graphql', params: { query: '{ search(