bolognese 1.5.3 → 1.5.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +658 -0
  3. data/Gemfile.lock +4 -4
  4. data/bolognese.gemspec +1 -1
  5. data/lib/bolognese/version.rb +1 -1
  6. data/lib/bolognese/writers/schema_org_writer.rb +1 -1
  7. data/spec/datacite_utils_spec.rb +0 -1
  8. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_references.yml +95 -0
  9. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_version.yml +64 -0
  10. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting.yml +55 -0
  11. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting_Citeproc_JSON.yml +146 -0
  12. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting_schema_org.yml +250 -0
  13. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/Crossref_DOI.yml +146 -0
  14. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/journal_article.yml +194 -0
  15. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/maremma.yml +216 -0
  16. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/with_pages.yml +191 -0
  17. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting.yml +55 -0
  18. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_schema_org.yml +111 -0
  19. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/journal_article.yml +51 -0
  20. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/with_pages.yml +48 -0
  21. data/spec/readers/datacite_reader_spec.rb +27 -3
  22. data/spec/writers/bibtex_writer_spec.rb +1 -1
  23. data/spec/writers/datacite_writer_spec.rb +28 -0
  24. data/spec/writers/rdf_xml_writer_spec.rb +78 -89
  25. data/spec/writers/turtle_writer_spec.rb +46 -46
  26. metadata +23 -3
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (1.5.3)
4
+ bolognese (1.5.5)
5
5
  activesupport (>= 4.2.5)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (>= 5.1.0)
@@ -14,7 +14,7 @@ PATH
14
14
  faraday (= 0.17.0)
15
15
  gender_detector (~> 0.1.2)
16
16
  iso8601 (~> 0.9.1)
17
- json-ld-preloaded (~> 3.0)
17
+ json-ld-preloaded (~> 3.1, >= 3.1.1)
18
18
  jsonlint (~> 0.3.0)
19
19
  loofah (~> 2.0, >= 2.0.3)
20
20
  maremma (>= 4.3, < 5)
@@ -169,10 +169,10 @@ GEM
169
169
  nokogiri (~> 1.6)
170
170
  rspec (~> 3)
171
171
  safe_yaml (1.0.5)
172
- simplecov (0.18.2)
172
+ simplecov (0.18.4)
173
173
  docile (~> 1.1)
174
174
  simplecov-html (~> 0.11)
175
- simplecov-html (0.12.0)
175
+ simplecov-html (0.12.1)
176
176
  sxp (1.1.0)
177
177
  rdf (~> 3.1)
178
178
  temple (0.8.2)
@@ -31,7 +31,7 @@ Gem::Specification.new do |s|
31
31
  s.add_dependency 'csl-styles', '~> 1.0', '>= 1.0.1.8'
32
32
  s.add_dependency 'iso8601', '~> 0.9.1'
33
33
  s.add_dependency 'postrank-uri', '~> 1.0', '>= 1.0.18'
34
- s.add_dependency 'json-ld-preloaded', '~> 3.0'
34
+ s.add_dependency 'json-ld-preloaded', '~> 3.1', '>= 3.1.1'
35
35
  s.add_dependency 'jsonlint', '~> 0.3.0'
36
36
  s.add_dependency 'oj', '~> 3.10'
37
37
  s.add_dependency "oj_mimic_json", "~> 1.0", ">= 1.0.1"
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "1.5.3"
2
+ VERSION = "1.5.5"
3
3
  end
@@ -4,7 +4,7 @@ module Bolognese
4
4
  module Writers
5
5
  module SchemaOrgWriter
6
6
  def schema_hsh
7
- { "@context" => "http://schema.org",
7
+ { "@context" => "https://schema.org",
8
8
  "@type" => types.present? ? types["schemaOrg"] : nil,
9
9
  "@id" => normalize_doi(doi),
10
10
  "identifier" => to_schema_org_identifiers(identifiers),
@@ -91,7 +91,6 @@ describe Bolognese::Metadata, vcr: true do
91
91
 
92
92
  # context "insert_dates" do
93
93
  # it "insert" do
94
- # puts subject.dates.inspect
95
94
  # xml = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') { |xml| subject.insert_dates(xml) }.to_xml
96
95
  # response = Maremma.from_xml(xml)
97
96
  # expect(response.dig("dates", "date")).to eq("dateType"=>"Issued", "__content__"=>"2011")
@@ -0,0 +1,95 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://doi.org/ra/10.26102
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; Maremma/4.6; mailto:info@datacite.org)
12
+ Accept:
13
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: ''
18
+ headers:
19
+ Date:
20
+ - Sun, 23 Feb 2020 20:33:59 GMT
21
+ Content-Type:
22
+ - application/json;charset=UTF-8
23
+ Connection:
24
+ - keep-alive
25
+ Set-Cookie:
26
+ - __cfduid=d0393d422856b6d12f48404fef24129271582490039; expires=Tue, 24-Mar-20
27
+ 20:33:59 GMT; path=/; domain=.doi.org; HttpOnly; SameSite=Lax; Secure
28
+ Cf-Cache-Status:
29
+ - DYNAMIC
30
+ Expect-Ct:
31
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
32
+ Strict-Transport-Security:
33
+ - max-age=31536000; includeSubDomains; preload
34
+ Server:
35
+ - cloudflare
36
+ Cf-Ray:
37
+ - 569bfa5c7ed4bed8-FRA
38
+ body:
39
+ encoding: ASCII-8BIT
40
+ string: |-
41
+ [
42
+ {
43
+ "DOI": "10.26102",
44
+ "RA": "DataCite"
45
+ }
46
+ ]
47
+ http_version:
48
+ recorded_at: Sun, 23 Feb 2020 20:33:59 GMT
49
+ - request:
50
+ method: get
51
+ uri: https://api.datacite.org/dois/10.26102/2310-6018/2019.24.1.006
52
+ body:
53
+ encoding: US-ASCII
54
+ string: ''
55
+ headers:
56
+ User-Agent:
57
+ - Mozilla/5.0 (compatible; Maremma/4.6; mailto:info@datacite.org)
58
+ Accept:
59
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
60
+ response:
61
+ status:
62
+ code: 200
63
+ message: OK
64
+ headers:
65
+ Date:
66
+ - Sun, 23 Feb 2020 20:34:01 GMT
67
+ Content-Type:
68
+ - application/json; charset=utf-8
69
+ Connection:
70
+ - keep-alive
71
+ Status:
72
+ - 200 OK
73
+ X-Anonymous-Consumer:
74
+ - 'true'
75
+ Cache-Control:
76
+ - max-age=0, private, must-revalidate
77
+ Vary:
78
+ - Accept-Encoding, Origin
79
+ Etag:
80
+ - W/"d1a57eae52a40689ed4c90375caec662"
81
+ X-Runtime:
82
+ - '1.041343'
83
+ X-Request-Id:
84
+ - 94670b41-21e6-459c-9781-1593ba0a2ddd
85
+ X-Powered-By:
86
+ - Phusion Passenger 6.0.4
87
+ Server:
88
+ - nginx/1.14.0 + Phusion Passenger 6.0.4
89
+ body:
90
+ encoding: ASCII-8BIT
91
+ string: !binary |-
92
+ eyJkYXRhIjp7ImlkIjoiMTAuMjYxMDIvMjMxMC02MDE4LzIwMTkuMjQuMS4wMDYiLCJ0eXBlIjoiZG9pcyIsImF0dHJpYnV0ZXMiOnsiZG9pIjoiMTAuMjYxMDIvMjMxMC02MDE4LzIwMTkuMjQuMS4wMDYiLCJwcmVmaXgiOiIxMC4yNjEwMiIsInN1ZmZpeCI6IjIzMTAtNjAxOC8yMDE5LjI0LjEuMDA2IiwiaWRlbnRpZmllcnMiOlt7ImlkZW50aWZpZXIiOiJodHRwczovL2RvaS5vcmcvMTAuMjYxMDIvMjMxMC02MDE4LzIwMTkuMjQuMS4wMDYiLCJpZGVudGlmaWVyVHlwZSI6IkRPSSJ9XSwiY3JlYXRvcnMiOlt7Im5hbWUiOiLQk9Cw0L3QuNGH0LXQstCwLCDQkC7Qki4iLCJuYW1lVHlwZSI6IlBlcnNvbmFsIiwiZ2l2ZW5OYW1lIjoi0JAu0JIuIiwiZmFtaWx5TmFtZSI6ItCT0LDQvdC40YfQtdCy0LAiLCJhZmZpbGlhdGlvbiI6WyLQotCy0LXRgNGB0LrQsNGPINCz0L7RgdGD0LTQsNGA0YHRgtCy0LXQvdC90LDRjyDRgdC10LvRjNGB0LrQvtGF0L7Qt9GP0LnRgdGC0LLQtdC90L3QsNGPINCw0LrQsNC00LXQvNC40Y8iXSwibmFtZUlkZW50aWZpZXJzIjpbXX0seyJuYW1lIjoi0JPQsNC90LjRh9C10LIsINCQLtCSLiIsIm5hbWVUeXBlIjoiUGVyc29uYWwiLCJnaXZlbk5hbWUiOiLQkC7Qki4iLCJmYW1pbHlOYW1lIjoi0JPQsNC90LjRh9C10LIiLCJhZmZpbGlhdGlvbiI6WyLQotCy0LXRgNGB0LrQvtC5INCz0L7RgdGD0LTQsNGA0YHRgtCy0LXQvdC90YvQuSDRgtC10YXQvdC40YfQtdGB0LrQuNC5INGD0L3QuNCy0LXRgNGB0LjRgtC10YIiXSwibmFtZUlkZW50aWZpZXJzIjpbXX1dLCJ0aXRsZXMiOlt7InRpdGxlIjoi0JzQntCU0JXQm9CsINCh0JjQodCi0JXQnNCd0J7QmSDQlNCY0J3QkNCc0JjQmtCYINCf0KDQntCm0JXQodCh0JAg0J7QkdCj0KfQldCd0JjQryJ9LHsidGl0bGUiOiJNT0RFTCBPRiBTWVNURU0gRFlOQU1JQ1MgT0YgUFJPQ0VTUyBPRiBUUkFJTklORyIsInRpdGxlVHlwZSI6IlRyYW5zbGF0ZWRUaXRsZSJ9XSwicHVibGlzaGVyIjoi0JzQntCU0JXQm9CY0KDQntCS0JDQndCY0JUsINCe0J/QotCY0JzQmNCX0JDQptCY0K8g0Jgg0JjQndCk0J7QoNCc0JDQptCY0J7QndCd0KvQlSDQotCV0KXQndCe0JvQntCT0JjQmCIsImNvbnRhaW5lciI6eyJ0eXBlIjoiU2VyaWVzIiwidGl0bGUiOiLihJYxKDI0KSAoMjAxOSkifSwicHVibGljYXRpb25ZZWFyIjoyMDE5LCJzdWJqZWN0cyI6W3sic3ViamVjdCI6ItCz0YDRg9C/0L/QsCDQvtCx0YPRh9Cw0LXQvNGL0YUifSx7InN1YmplY3QiOiLQvNC+0LTQtdC70YwifSx7InN1YmplY3QiOiLQutC+0Y3RhNGE0LjRhtC40LXQvdGC0Ysg0LLQu9C40Y/QvdC40Y8ifSx7InN1YmplY3QiOiLRgdC40YHRgtC10LzQsCDQtNC40YTRhNC10YDQtdC90YbQuNCw0LvRjNC90YvRhSDRg9GA0LDQstC90LXQvdC40LkifSx7InN1YmplY3QiOiLRgNC10YjQtdC90LjQtSJ9LHsic3ViamVjdCI6Imdyb3VwIG9mIHRyYWluZWVzIn0seyJzdWJqZWN0IjoibW9kZWwifSx7InN1YmplY3QiOiJjb2VmZmljaWVudHMgb2YgaW5mbHVlbmNlIn0seyJzdWJqZWN0Ijoic3lzdGVtIG9mIGRpZmZlcmVudGlhbCBlcXVhdGlvbnMifSx7InN1YmplY3QiOiJzb2x1dGlvbiJ9LHsic3ViamVjdCI6InNvbHV0aW9uIn1dLCJjb250cmlidXRvcnMiOltdLCJkYXRlcyI6W3siZGF0ZSI6IjIwMTktMDItMDkiLCJkYXRlVHlwZSI6Iklzc3VlZCJ9XSwibGFuZ3VhZ2UiOiJydSIsInR5cGVzIjp7InJpcyI6IkpPVVIiLCJiaWJ0ZXgiOiJhcnRpY2xlIiwiY2l0ZXByb2MiOiJhcnRpY2xlLWpvdXJuYWwiLCJzY2hlbWFPcmciOiJTY2hvbGFybHlBcnRpY2xlIiwicmVzb3VyY2VUeXBlIjoiSm91cm5hbCBBcnRpY2xlIiwicmVzb3VyY2VUeXBlR2VuZXJhbCI6IlRleHQifSwicmVsYXRlZElkZW50aWZpZXJzIjpbeyJyZWxhdGlvblR5cGUiOiJJc0NpdGVkQnkiLCJyZWxhdGVkSWRlbnRpZmllciI6Imh0dHBzOi8vbW9pdC52aXZ0LnJ1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE5LzAxL0dhbmljaGV2YUdhbmljaGV2XzFfMTlfMS5wZGYiLCJyZWxhdGVkSWRlbnRpZmllclR5cGUiOiJVUkwifSx7InJlbGF0aW9uVHlwZSI6IkNpdGVzIiwicmVsYXRlZElkZW50aWZpZXIiOiIyMzEwLTYwMTgiLCJyZWxhdGVkSWRlbnRpZmllclR5cGUiOiJFSVNTTiJ9XSwic2l6ZXMiOltdLCJmb3JtYXRzIjpbXSwidmVyc2lvbiI6bnVsbCwicmlnaHRzTGlzdCI6W10sImRlc2NyaXB0aW9ucyI6W3siZGVzY3JpcHRpb24iOiLQkNC60YLRg9Cw0LvRjNC90L7RgdGC0Ywg0LTQsNC90L3QvtC5INGA0LDQsdC+0YLRiyDQvtCx0YPRgdC70L7QstC70LXQvdCwINCy0LDQttC90L7RgdGC0YzRjiDRg9GH0LXRgtCwINCyINGD0YfQtdCx0L3QvtC8INC/0YDQvtGG0LXRgdGB0LUg0LvQuNGH0L3QvtGB0YLQvdGL0YUg0LrQsNGH0LXRgdGC0LIg0L7QsdGD0YfQsNC10LzRi9GFLiDQktCw0LbQvdC+0YHRgtGMINGA0LXRiNC10L3QuNGPINC00LDQvdC90L7QuSDQv9GA0L7QsdC70LXQvNGLINC+0L/RgNC10LTQtdC70Y/QtdGC0YHRjyDRgtC10LwsINGH0YLQviDQutC+0LzQv9C10YLQtdC90YLQvdC+0YHRgtC90YvQuSDQv9C+0LTRhdC+0LQg0L/RgNC10LTQv9C+0LvQsNCz0LDQtdGCINGE0L7RgNC80LjRgNC+0LLQsNC90LjQtSDQsdGD0LTRg9GJ0LjRhSDRgNCw0LHQvtGC0L3QuNC60L7Qsiwg0YHQv9C+0YHQvtCx0L3Ri9GFINGB0LDQvNC+0YHRgtC+0Y/RgtC10LvRjNC90L4g0LTQtdC50YHRgtCy0L7QstCw0YLRjCDQsiDRgNCw0LfQu9C40YfQvdGL0YUg0YHQuNGC0YPQsNGG0LjRj9GFLCDQvtC60LDQt9GL0LLQsNGC0Ywg0LLQu9C40Y/QvdC40LUg0L3QsCDQtNGA0YPQs9C40YUuINCf0YDQuCDQvtCx0YPRh9C10L3QuNC4INCyINC90LXQvtC00L3QvtGA0L7QtNC90YvRhSDRg9GH0LXQsdC90YvRhSDQutC+0LvQu9C10LrRgtC40LLQsNGFICjQs9GA0YPQv9C/0LDRhSkg0LzQvtC20L3QviDQstGL0LTQtdC70LjRgtGMINC/0L7QtNCz0YDRg9C/0L/RiyDRg9GH0LDRidC40YXRgdGPINC/0L4g0YDQsNC30L3Ri9C8INC60YDQuNGC0LXRgNC40Y/QvDog0YHQv9C+0YHQvtCx0L3QvtGB0YLRj9C8LCDRg9GB0L/QtdCy0LDQtdC80L7RgdGC0LgsINC00LjRgdGG0LjQv9C70LjQvdC1INC4INGCLtC0LiDQn9C+0LTQs9GA0YPQv9C/0Ysg0L7QsdGD0YfQsNC10LzRi9GFINC+0LrQsNC30YvQstCw0Y7RgiDQstC70LjRj9C90LjQtSDQtNGA0YPQsyDQvdCwINC00YDRg9Cz0LAuINCh0LjQu9CwINGN0YLQvtCz0L4g0LLQu9C40Y/QvdC40Y8g0LfQsNCy0LjRgdC40YIg0L7RgiDRh9C40YHQu9C10L3QvdC+0YHRgtC4INC/0L7QtNCz0YDRg9C/0L8sINC60L7RjdGE0YTQuNGG0LjQtdC90YLQvtCyINCy0LvQuNGP0L3QuNGPINC4INCy0YDQtdC80LXQvdC4INCy0L7Qt9C00LXQudGB0YLQstC40Y8uINCSINGA0LXQt9GD0LvRjNGC0LDRgtC1INCy0LfQsNC40LzQvdC+0LPQviDQstC70LjRj9C90LjRjyDQstC+0LfQvNC+0LbQtdC9INC/0LXRgNC10YXQvtC0INC+0LHRg9GH0LDQtdC80L7Qs9C+INC40Lcg0L7QtNC90L7QuSDQs9GA0YPQv9C/0Ysg0LIg0LTRgNGD0LPRg9GOLiDQkiDRgdGC0LDRgtGM0LUg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvSDQvNC10YLQvtC0INC80LDRgtC10LzQsNGC0LjRh9C10YHQutC+0LPQviDQvNC+0LTQtdC70LjRgNC+0LLQsNC90LjRjyDQtNC70Y8g0LDQvdCw0LvQuNC30LAg0Lgg0YPRh9C10YLQsCDQtNC40L3QsNC80LjRh9C10YHQutC+0LPQviDQstC30LDQuNC80L7QstC70LjRj9C90LjRjyDRg9GH0LDRidC40YXRgdGPINCyINC60L7Qu9C70LXQutGC0LjQstC1LiDQnNC+0LTQtdC70Ywg0L/QvtGB0YLRgNC+0LXQvdCwINC90LAg0L7RgdC90L7QstC1INGB0LjRgdGC0LXQvNGLINC00LjRhNGE0LXRgNC10L3RhtC40LDQu9GM0L3Ri9GFINGD0YDQsNCy0L3QtdC90LjQuSDQlNC2LiDQpNC+0YDRgNC10YHRgtC10YDQsC4g0J/QvtC70YPRh9C10L3QviDQsNC90LDQu9C40YLQuNGH0LXRgdC60L7QtSDRgNC10YjQtdC90LjQtSDRgdC40YHRgtC10LzRiyDQtNC70Y8g0YLQuNC/0L7QstC+0LPQviDRgdC70YPRh9Cw0Y8g0LIg0YPRh9C10LHQvdC+0Lwg0L/RgNC+0YbQtdGB0YHQtSDigJMg0L3QsNC70LjRh9C40Y8g0YLRgNC10YUg0LLQuNC00L7QsiDQv9C+0LTQs9GA0YPQv9C/INC+0LHRg9GH0LDQtdC80YvRhS4g0JTQu9GPINC40LvQu9GO0YHRgtGA0LDRhtC40Lgg0L/QvtC70YPRh9C10L3QvdGL0YUg0YDQtdC30YPQu9GM0YLQsNGC0L7QsiDQv9GA0LjQstC10LTQtdC9INGH0LjRgdC70L7QstC+0Lkg0L/RgNC40LzQtdGALiDQoNC10LfRg9C70YzRgtCw0YLRiyDQtdCz0L4g0YDQtdGI0LXQvdC40Y8g0L/RgNC10LTRgdGC0LDQstC70LXQvdGLINCz0YDQsNGE0LjRh9C10YHQutC4LiDQoNCw0YHRgdC80L7RgtGA0LXQvdGLINCy0LDQttC90YvQtSDRh9Cw0YHRgtC90YvQtSDRgdC70YPRh9Cw0Lgg0L7QsdGJ0LXQuSDRgdC40YHRgtC10LzRiyDQtNC40YTRhNC10YDQtdC90YbQuNCw0LvRjNC90YvRhSDRg9GA0LDQstC90LXQvdC40LkgKNC30LDQtNCw0L3QuNC1INGB0L7QvtGC0L3QvtGI0LXQvdC40Lkg0LzQtdC20LTRgyDQutC+0Y3RhNGE0LjRhtC40LXQvdGC0LDQvNC4INCy0LvQuNGP0L3QuNGPKS4g0KDQsNC30YDQsNCx0L7RgtCw0L3QvdCw0Y8g0LzQsNGC0LXQvNCw0YLQuNGH0LXRgdC60LDRjyDQvNC+0LTQtdC70Ywg0L/QvtC30LLQvtC70LjRgiDRgdC+0LLQtdGA0YjQtdC90YHRgtCy0L7QstCw0YLRjCDQutCw0YfQtdGB0YLQstC+INC+0LHRgNCw0LfQvtCy0LDRgtC10LvRjNC90L7Qs9C+INC/0YDQvtGG0LXRgdGB0LAuIiwiZGVzY3JpcHRpb25UeXBlIjoiQWJzdHJhY3QifSx7ImRlc2NyaXB0aW9uIjoiVGhlIHJlbGV2YW5jZSBvZiB0aGlzIHdvcmsgaXMgY2F1c2VkIGJ5IGltcG9ydGFuY2Ugb2YgYWNjb3VudCBpbiBlZHVjYXRpb25hbCBwcm9jZXNzIG9mIHBlcnNvbmFsIHF1YWxpdGllcyBvZiB0cmFpbmVlcy4gSW1wb3J0YW5jZSBvZiB0aGUgc29sdXRpb24gb2YgdGhpcyBwcm9ibGVtIGlzIGRlZmluZWQgYnkgdGhlIGZhY3QgdGhhdCBjb21wZXRlbmNlLWJhc2VkIGFwcHJvYWNoIGFzc3VtZXMgZm9ybWF0aW9uIG9mIGZ1dHVyZSB3b3JrZXJzIGNhcGFibGUgaW5kZXBlbmRlbnRseSB0byB3b3JrIGluIHZhcmlvdXMgc2l0dWF0aW9ucywgdG8gaGF2ZSBhbiBpbXBhY3Qgb24gb3RoZXJzLiBXaGVuIHRyYWluaW5nIGluIG5vbi11bmlmb3JtIGVkdWNhdGlvbmFsIGNvbGxlY3RpdmVzIChncm91cHMpIGl0IGlzIHBvc3NpYmxlIHRvIGFsbG9jYXRlIHN1Ymdyb3VwcyBvZiBwdXBpbHMgYnkgZGlmZmVyZW50IGNyaXRlcmlhOiB0byBhYmlsaXRpZXMsIHByb2dyZXNzLCBkaXNjaXBsaW5lLCBldGMuIFN1Ymdyb3VwcyBvZiB0cmFpbmVlcyBoYXZlIGFuIGltcGFjdCBhdCBlYWNoIG90aGVyLiBGb3JjZSBvZiB0aGlzIGluZmx1ZW5jZSBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2Ygc3ViZ3JvdXBzLCBvZiBjb2VmZmljaWVudHMgb2YgaW5mbHVlbmNlIGFuZCB0aW1lIG9mIGltcGFjdC4gQXMgYSByZXN1bHQgb2YgbXV0dWFsIGluZmx1ZW5jZSwgaXQgaXMgcG9zc2libGUgb2YgdGhlIHRyYWluZWUgdG8gbW92ZSBmcm9tIG9uZSBncm91cCB0byBhbm90aGVyLiBUaGUgYXJ0aWNsZSB1c2VzIHRoZSBtZXRob2Qgb2YgbWF0aGVtYXRpY2FsIG1vZGVsaW5nIHRvIGFuYWx5emUgYW5kIGFjY291bnQgZm9yIHRoZSBkeW5hbWljIGludGVyYWN0aW9uIG9mIHB1cGlscyBpbiB0aGUgdGVhbS4gVGhlIG1vZGVsIGlzIGJhc2VkIG9uIHRoZSBzeXN0ZW0gb2YgZGlmZmVyZW50aWFsIGVxdWF0aW9ucyBvZiBKLiBGb3JyZXN0ZXIuIFRoZSBhbmFseXRpY2FsIHNvbHV0aW9uIG9mIGEgc3lzdGVtIGZvciBhIHN0YW5kYXJkIGNhc2UgaW4gZWR1Y2F0aW9uYWwgcHJvY2VzcyAtIGV4aXN0ZW5jZSBvZiB0aHJlZSB0eXBlcyBvZiBzdWJncm91cHMgb2YgdHJhaW5lZXMgaXMgcmVjZWl2ZWQuIEEgbnVtZXJpY2FsIGV4YW1wbGUgaXMgZ2l2ZW4gdG8gaWxsdXN0cmF0ZSB0aGUgcmVzdWx0cy4gUmVzdWx0cyBvZiBpdHMgZGVjaXNpb24gYXJlIHByZXNlbnRlZCBncmFwaGljYWxseS4gSW1wb3J0YW50IHNwZWNpYWwgY2FzZXMgb2YgdGhlIEdlbmVyYWwgc3lzdGVtIG9mIGRpZmZlcmVudGlhbCBlcXVhdGlvbnMgKHNldHRpbmcgb2YgcmVsYXRpb25zIGJldHdlZW4gdGhlIGNvZWZmaWNpZW50cyBvZiBpbmZsdWVuY2UpIGFyZSBjb25zaWRlcmVkLiBUaGUgZGV2ZWxvcGVkIG1hdGhlbWF0aWNhbCBtb2RlbCB3aWxsIGltcHJvdmUgdGhlIHF1YWxpdHkgb2YgdGhlIGVkdWNhdGlvbmFsIHByb2Nlc3MuIiwiZGVzY3JpcHRpb25UeXBlIjoiQWJzdHJhY3QifSx7ImRlc2NyaXB0aW9uIjoi4oSWMSgyNCkgKDIwMTkpIiwiZGVzY3JpcHRpb25UeXBlIjoiU2VyaWVzSW5mb3JtYXRpb24ifV0sImdlb0xvY2F0aW9ucyI6W10sImZ1bmRpbmdSZWZlcmVuY2VzIjpbeyJhd2FyZFRpdGxlIjp7Il9fY29udGVudF9fIjoiXG5cbiJ9LCJmdW5kZXJOYW1lIjoi0KDQpNCk0JgiLCJhd2FyZE51bWJlciI6ItC/0YDQvtC10LrRgiDihJYgMTcwMTAwNzI4In1dLCJ4bWwiOiJQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpVlZSR0xUZ2lQejRLUEhKbGMyOTFjbU5sSUhodGJHNXpQU0pvZEhSd09pOHZaR0YwWVdOcGRHVXViM0puTDNOamFHVnRZUzlyWlhKdVpXd3ROQ0lnZUcxc2JuTTZlSE5wUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXhMMWhOVEZOamFHVnRZUzFwYm5OMFlXNWpaU0lnZUhOcE9uTmphR1Z0WVV4dlkyRjBhVzl1UFNKb2RIUndPaTh2WkdGMFlXTnBkR1V1YjNKbkwzTmphR1Z0WVM5clpYSnVaV3d0TkNCb2RIUndPaTh2YzJOb1pXMWhMbVJoZEdGamFYUmxMbTl5Wnk5dFpYUmhMMnRsY201bGJDMDBMMjFsZEdGa1lYUmhMbmh6WkNJK0NpQWdQR2xrWlc1MGFXWnBaWElnYVdSbGJuUnBabWxsY2xSNWNHVTlJa1JQU1NJK01UQXVNall4TURJdk1qTXhNQzAyTURFNEx6SXdNVGt1TWpRdU1TNHdNRFk4TDJsa1pXNTBhV1pwWlhJK0NpQWdQR055WldGMGIzSnpQZ29nSUNBZ1BHTnlaV0YwYjNJK0NpQWdJQ0FnSUR4amNtVmhkRzl5VG1GdFpUN1FrOUN3MEwzUXVOR0gwTFhRc3RDd0xDRFFrQzdRa2k0OEwyTnlaV0YwYjNKT1lXMWxQZ29nSUNBZ0lDQThZV1ptYVd4cFlYUnBiMjQrMEtMUXN0QzEwWURSZ2RDNjBMRFJqeURRczlDKzBZSFJnOUMwMExEUmdOR0IwWUxRc3RDMTBMM1F2ZEN3MFk4ZzBZSFF0ZEM3MFl6UmdkQzYwTDdSaGRDKzBMZlJqOUM1MFlIUmd0Q3kwTFhRdmRDOTBMRFJqeURRc05DNjBMRFF0TkMxMEx6UXVOR1BQQzloWm1acGJHbGhkR2x2Ymo0S0lDQWdJRHd2WTNKbFlYUnZjajRLSUNBZ0lEeGpjbVZoZEc5eVBnb2dJQ0FnSUNBOFkzSmxZWFJ2Y2s1aGJXVSswSlBRc05DOTBMalJoOUMxMExJc0lOQ1FMdENTTGp3dlkzSmxZWFJ2Y2s1aGJXVStDaUFnSUNBZ0lEeGhabVpwYkdsaGRHbHZiajdRb3RDeTBMWFJnTkdCMExyUXZ0QzVJTkN6MEw3UmdkR0QwTFRRc05HQTBZSFJndEN5MExYUXZkQzkwWXZRdVNEUmd0QzEwWVhRdmRDNDBZZlF0ZEdCMExyUXVOQzVJTkdEMEwzUXVOQ3kwTFhSZ05HQjBMalJndEMxMFlJOEwyRm1abWxzYVdGMGFXOXVQZ29nSUNBZ1BDOWpjbVZoZEc5eVBnb2dJRHd2WTNKbFlYUnZjbk0rQ2lBZ1BIUnBkR3hsY3o0S0lDQWdJRHgwYVhSc1pUN1FuTkNlMEpUUWxkQ2IwS3dnMEtIUW1OQ2gwS0xRbGRDYzBKM1FudENaSU5DVTBKalFuZENRMEp6UW1OQ2EwSmdnMEovUW9OQ2UwS2JRbGRDaDBLSFFrQ0RRbnRDUjBLUFFwOUNWMEozUW1OQ3ZQQzkwYVhSc1pUNEtJQ0FnSUR4MGFYUnNaU0IwYVhSc1pWUjVjR1U5SWxSeVlXNXpiR0YwWldSVWFYUnNaU0krVFU5RVJVd2dUMFlnVTFsVFZFVk5JRVJaVGtGTlNVTlRJRTlHSUZCU1QwTkZVMU1nVDBZZ1ZGSkJTVTVKVGtjOEwzUnBkR3hsUGdvZ0lEd3ZkR2wwYkdWelBnb2dJRHh3ZFdKc2FYTm9aWEkrMEp6UW50Q1UwSlhRbTlDWTBLRFFudENTMEpEUW5kQ1kwSlVzSU5DZTBKL1FvdENZMEp6UW1OQ1gwSkRRcHRDWTBLOGcwSmdnMEpqUW5kQ2swSjdRb05DYzBKRFFwdENZMEo3UW5kQ2QwS3ZRbFNEUW90Q1YwS1hRbmRDZTBKdlFudENUMEpqUW1Ed3ZjSFZpYkdsemFHVnlQZ29nSUR4d2RXSnNhV05oZEdsdmJsbGxZWEkrTWpBeE9Ud3ZjSFZpYkdsallYUnBiMjVaWldGeVBnb2dJRHh6ZFdKcVpXTjBjejRLSUNBZ0lEeHpkV0pxWldOMFB0Q3owWURSZzlDLzBML1FzQ0RRdnRDeDBZUFJoOUN3MExYUXZOR0wwWVU4TDNOMVltcGxZM1ErQ2lBZ0lDQThjM1ZpYW1WamREN1F2TkMrMExUUXRkQzcwWXc4TDNOMVltcGxZM1ErQ2lBZ0lDQThjM1ZpYW1WamREN1F1dEMrMFkzUmhOR0UwTGpSaHRDNDBMWFF2ZEdDMFlzZzBMTFF1OUM0MFkvUXZkQzQwWTg4TDNOMVltcGxZM1ErQ2lBZ0lDQThjM1ZpYW1WamREN1JnZEM0MFlIUmd0QzEwTHpRc0NEUXROQzQwWVRSaE5DMTBZRFF0ZEM5MFliUXVOQ3cwTHZSak5DOTBZdlJoU0RSZzlHQTBMRFFzdEM5MExYUXZkQzQwTGs4TDNOMVltcGxZM1ErQ2lBZ0lDQThjM1ZpYW1WamREN1JnTkMxMFlqUXRkQzkwTGpRdFR3dmMzVmlhbVZqZEQ0S0lDQWdJRHh6ZFdKcVpXTjBQbWR5YjNWd0lHOW1JSFJ5WVdsdVpXVnpQQzl6ZFdKcVpXTjBQZ29nSUNBZ1BITjFZbXBsWTNRK2JXOWtaV3c4TDNOMVltcGxZM1ErQ2lBZ0lDQThjM1ZpYW1WamRENWpiMlZtWm1samFXVnVkSE1nYjJZZ2FXNW1iSFZsYm1ObFBDOXpkV0pxWldOMFBnb2dJQ0FnUEhOMVltcGxZM1ErYzNsemRHVnRJRzltSUdScFptWmxjbVZ1ZEdsaGJDQmxjWFZoZEdsdmJuTThMM04xWW1wbFkzUStDaUFnSUNBOGMzVmlhbVZqZEQ1emIyeDFkR2x2Ymp3dmMzVmlhbVZqZEQ0S0lDQWdJRHh6ZFdKcVpXTjBQbk52YkhWMGFXOXVQQzl6ZFdKcVpXTjBQZ29nSUR3dmMzVmlhbVZqZEhNK0NpQWdQR1oxYm1ScGJtZFNaV1psY21WdVkyVnpQZ29nSUNBZ1BHWjFibVJwYm1kU1pXWmxjbVZ1WTJVK0NpQWdJQ0FnSUR4bWRXNWtaWEpPWVcxbFB0Q2cwS1RRcE5DWVBDOW1kVzVrWlhKT1lXMWxQZ29nSUNBZ0lDQThZWGRoY21SVWFYUnNaVDRLQ2p3dllYZGhjbVJVYVhSc1pUNEtJQ0FnSUNBZ1BHRjNZWEprVG5WdFltVnlQdEMvMFlEUXZ0QzEwTHJSZ2lEaWhKWWdNVGN3TVRBd056STRQQzloZDJGeVpFNTFiV0psY2o0S0lDQWdJRHd2Wm5WdVpHbHVaMUpsWm1WeVpXNWpaVDRLSUNBOEwyWjFibVJwYm1kU1pXWmxjbVZ1WTJWelBnb2dJRHhzWVc1bmRXRm5aVDV5ZFR3dmJHRnVaM1ZoWjJVK0NpQWdQR1JoZEdWelBnb2dJQ0FnUEdSaGRHVWdaR0YwWlZSNWNHVTlJa2x6YzNWbFpDSStNakF4T1Mwd01pMHdPVHd2WkdGMFpUNEtJQ0E4TDJSaGRHVnpQZ29nSUR4eVpYTnZkWEpqWlZSNWNHVWdjbVZ6YjNWeVkyVlVlWEJsUjJWdVpYSmhiRDBpVkdWNGRDSStTbTkxY201aGJDQkJjblJwWTJ4bFBDOXlaWE52ZFhKalpWUjVjR1UrQ2lBZ1BISmxiR0YwWldSSlpHVnVkR2xtYVdWeWN6NEtJQ0FnSUR4eVpXeGhkR1ZrU1dSbGJuUnBabWxsY2lCeVpXeGhkR1ZrU1dSbGJuUnBabWxsY2xSNWNHVTlJbFZTVENJZ2NtVnNZWFJwYjI1VWVYQmxQU0pKYzBOcGRHVmtRbmtpUG1oMGRIQnpPaTh2Ylc5cGRDNTJhWFowTG5KMUwzZHdMV052Ym5SbGJuUXZkWEJzYjJGa2N5OHlNREU1THpBeEwwZGhibWxqYUdWMllVZGhibWxqYUdWMlh6RmZNVGxmTVM1d1pHWThMM0psYkdGMFpXUkpaR1Z1ZEdsbWFXVnlQZ29nSUNBZ1BISmxiR0YwWldSSlpHVnVkR2xtYVdWeUlISmxiR0YwWldSSlpHVnVkR2xtYVdWeVZIbHdaVDBpUlVsVFUwNGlJSEpsYkdGMGFXOXVWSGx3WlQwaVEybDBaWE1pUGpJek1UQXROakF4T0R3dmNtVnNZWFJsWkVsa1pXNTBhV1pwWlhJK0NpQWdQQzl5Wld4aGRHVmtTV1JsYm5ScFptbGxjbk0rQ2lBZ1BHUmxjMk55YVhCMGFXOXVjejRLSUNBZ0lEeGtaWE5qY21sd2RHbHZiaUJrWlhOamNtbHdkR2x2YmxSNWNHVTlJa0ZpYzNSeVlXTjBJajdRa05DNjBZTFJnOUN3MEx2UmpOQzkwTDdSZ2RHQzBZd2cwTFRRc05DOTBMM1F2dEM1SU5HQTBMRFFzZEMrMFlMUml5RFF2dEN4MFlQUmdkQzcwTDdRc3RDNzBMWFF2ZEN3SU5DeTBMRFF0dEM5MEw3UmdkR0MwWXpSamlEUmc5R0gwTFhSZ3RDd0lOQ3lJTkdEMFlmUXRkQ3gwTDNRdnRDOElOQy8wWURRdnRHRzBMWFJnZEdCMExVZzBMdlF1TkdIMEwzUXZ0R0IwWUxRdmRHTDBZVWcwTHJRc05HSDBMWFJnZEdDMExJZzBMN1FzZEdEMFlmUXNOQzEwTHpSaTlHRkxpRFFrdEN3MExiUXZkQyswWUhSZ3RHTUlOR0EwTFhSaU5DMTBMM1F1TkdQSU5DMDBMRFF2ZEM5MEw3UXVTRFF2OUdBMEw3UXNkQzcwTFhRdk5HTElOQyswTC9SZ05DMTBMVFF0ZEM3MFkvUXRkR0MwWUhSanlEUmd0QzEwTHdzSU5HSDBZTFF2aURRdXRDKzBMelF2OUMxMFlMUXRkQzkwWUxRdmRDKzBZSFJndEM5MFl2UXVTRFF2OUMrMExUUmhkQyswTFFnMEwvUmdOQzEwTFRRdjlDKzBMdlFzTkN6MExEUXRkR0NJTkdFMEw3UmdOQzgwTGpSZ05DKzBMTFFzTkM5MExqUXRTRFFzZEdEMExUUmc5R0owTGpSaFNEUmdOQ3cwTEhRdnRHQzBMM1F1TkM2MEw3UXNpd2cwWUhRdjlDKzBZSFF2dEN4MEwzUmk5R0ZJTkdCMExEUXZOQyswWUhSZ3RDKzBZL1JndEMxMEx2UmpOQzkwTDRnMExUUXRkQzUwWUhSZ3RDeTBMN1FzdEN3MFlMUmpDRFFzaURSZ05DdzBMZlF1OUM0MFlmUXZkR0wwWVVnMFlIUXVOR0MwWVBRc05HRzBMalJqOUdGTENEUXZ0QzYwTERRdDlHTDBMTFFzTkdDMFl3ZzBMTFF1OUM0MFkvUXZkQzQwTFVnMEwzUXNDRFF0TkdBMFlQUXM5QzQwWVV1SU5DZjBZRFF1Q0RRdnRDeDBZUFJoOUMxMEwzUXVOQzRJTkN5SU5DOTBMWFF2dEMwMEwzUXZ0R0EwTDdRdE5DOTBZdlJoU0RSZzlHSDBMWFFzZEM5MFl2UmhTRFF1dEMrMEx2UXU5QzEwTHJSZ3RDNDBMTFFzTkdGSUNqUXM5R0EwWVBRdjlDLzBMRFJoU2tnMEx6UXZ0QzIwTDNRdmlEUXN0R0wwTFRRdGRDNzBMalJndEdNSU5DLzBMN1F0TkN6MFlEUmc5Qy8wTC9SaXlEUmc5R0gwTERSaWRDNDBZWFJnZEdQSU5DLzBMNGcwWURRc05DMzBMM1JpOUM4SU5DNjBZRFF1TkdDMExYUmdOQzQwWS9RdkRvZzBZSFF2OUMrMFlIUXZ0Q3gwTDNRdnRHQjBZTFJqOUM4TENEUmc5R0IwTC9RdGRDeTBMRFF0ZEM4MEw3UmdkR0MwTGdzSU5DMDBMalJnZEdHMExqUXY5QzcwTGpRdmRDMUlOQzRJTkdDTHRDMExpRFFuOUMrMExUUXM5R0EwWVBRdjlDLzBZc2cwTDdRc2RHRDBZZlFzTkMxMEx6Umk5R0ZJTkMrMExyUXNOQzMwWXZRc3RDdzBZN1JnaURRc3RDNzBMalJqOUM5MExqUXRTRFF0TkdBMFlQUXN5RFF2ZEN3SU5DMDBZRFJnOUN6MExBdUlOQ2gwTGpRdTlDd0lOR04wWUxRdnRDejBMNGcwTExRdTlDNDBZL1F2ZEM0MFk4ZzBMZlFzTkN5MExqUmdkQzQwWUlnMEw3UmdpRFJoOUM0MFlIUXU5QzEwTDNRdmRDKzBZSFJndEM0SU5DLzBMN1F0TkN6MFlEUmc5Qy8wTDhzSU5DNjBMN1JqZEdFMFlUUXVOR0cwTGpRdGRDOTBZTFF2dEN5SU5DeTBMdlF1TkdQMEwzUXVOR1BJTkM0SU5DeTBZRFF0ZEM4MExYUXZkQzRJTkN5MEw3UXQ5QzAwTFhRdWRHQjBZTFFzdEM0MFk4dUlOQ1NJTkdBMExYUXQ5R0QwTHZSak5HQzBMRFJndEMxSU5DeTBMZlFzTkM0MEx6UXZkQyswTFBRdmlEUXN0QzcwTGpSajlDOTBMalJqeURRc3RDKzBMZlF2TkMrMExiUXRkQzlJTkMvMExYUmdOQzEwWVhRdnRDMElOQyswTEhSZzlHSDBMRFF0ZEM4MEw3UXM5QytJTkM0MExjZzBMN1F0TkM5MEw3UXVTRFFzOUdBMFlQUXY5Qy8wWXNnMExJZzBMVFJnTkdEMExQUmc5R09MaURRa2lEUmdkR0MwTERSZ3RHTTBMVWcwTGpSZ2RDLzBMN1F1OUdNMExmUXZ0Q3kwTERRdlNEUXZOQzEwWUxRdnRDMElOQzgwTERSZ3RDMTBMelFzTkdDMExqUmg5QzEwWUhRdXRDKzBMUFF2aURRdk5DKzBMVFF0ZEM3MExqUmdOQyswTExRc05DOTBMalJqeURRdE5DNzBZOGcwTERRdmRDdzBMdlF1TkMzMExBZzBMZ2cwWVBSaDlDMTBZTFFzQ0RRdE5DNDBMM1FzTkM4MExqUmg5QzEwWUhRdXRDKzBMUFF2aURRc3RDMzBMRFF1TkM4MEw3UXN0QzcwTGpSajlDOTBMalJqeURSZzlHSDBMRFJpZEM0MFlYUmdkR1BJTkN5SU5DNjBMN1F1OUM3MExYUXV0R0MwTGpRc3RDMUxpRFFuTkMrMExUUXRkQzcwWXdnMEwvUXZ0R0IwWUxSZ05DKzBMWFF2ZEN3SU5DOTBMQWcwTDdSZ2RDOTBMN1FzdEMxSU5HQjBMalJnZEdDMExYUXZOR0xJTkMwMExqUmhOR0UwTFhSZ05DMTBMM1JodEM0MExEUXU5R00wTDNSaTlHRklOR0QwWURRc05DeTBMM1F0ZEM5MExqUXVTRFFsTkMyTGlEUXBOQyswWURSZ05DMTBZSFJndEMxMFlEUXNDNGcwSi9RdnRDNzBZUFJoOUMxMEwzUXZpRFFzTkM5MExEUXU5QzQwWUxRdU5HSDBMWFJnZEM2MEw3UXRTRFJnTkMxMFlqUXRkQzkwTGpRdFNEUmdkQzQwWUhSZ3RDMTBMelJpeURRdE5DNzBZOGcwWUxRdU5DLzBMN1FzdEMrMExQUXZpRFJnZEM3MFlQUmg5Q3cwWThnMExJZzBZUFJoOUMxMExIUXZkQyswTHdnMEwvUmdOQyswWWJRdGRHQjBZSFF0U0RpZ0pNZzBMM1FzTkM3MExqUmg5QzQwWThnMFlMUmdOQzEwWVVnMExMUXVOQzAwTDdRc2lEUXY5QyswTFRRczlHQTBZUFF2OUMvSU5DKzBMSFJnOUdIMExEUXRkQzgwWXZSaFM0ZzBKVFF1OUdQSU5DNDBMdlF1OUdPMFlIUmd0R0EwTERSaHRDNDBMZ2cwTC9RdnRDNzBZUFJoOUMxMEwzUXZkR0wwWVVnMFlEUXRkQzMwWVBRdTlHTTBZTFFzTkdDMEw3UXNpRFF2OUdBMExqUXN0QzEwTFRRdGRDOUlOR0gwTGpSZ2RDNzBMN1FzdEMrMExrZzBML1JnTkM0MEx6UXRkR0FMaURRb05DMTBMZlJnOUM3MFl6Umd0Q3cwWUxSaXlEUXRkQ3owTDRnMFlEUXRkR0kwTFhRdmRDNDBZOGcwTC9SZ05DMTBMVFJnZEdDMExEUXN0QzcwTFhRdmRHTElOQ3owWURRc05HRTBMalJoOUMxMFlIUXV0QzRMaURRb05DdzBZSFJnZEM4MEw3Umd0R0EwTFhRdmRHTElOQ3kwTERRdHRDOTBZdlF0U0RSaDlDdzBZSFJndEM5MFl2UXRTRFJnZEM3MFlQUmg5Q3cwTGdnMEw3UXNkR0owTFhRdVNEUmdkQzQwWUhSZ3RDMTBMelJpeURRdE5DNDBZVFJoTkMxMFlEUXRkQzkwWWJRdU5DdzBMdlJqTkM5MFl2UmhTRFJnOUdBMExEUXN0QzkwTFhRdmRDNDBMa2dLTkMzMExEUXROQ3cwTDNRdU5DMUlOR0IwTDdRdnRHQzBMM1F2dEdJMExYUXZkQzQwTGtnMEx6UXRkQzIwTFRSZ3lEUXV0QyswWTNSaE5HRTBMalJodEM0MExYUXZkR0MwTERRdk5DNElOQ3kwTHZRdU5HUDBMM1F1TkdQS1M0ZzBLRFFzTkMzMFlEUXNOQ3gwTDdSZ3RDdzBMM1F2ZEN3MFk4ZzBMelFzTkdDMExYUXZOQ3cwWUxRdU5HSDBMWFJnZEM2MExEUmp5RFF2TkMrMExUUXRkQzcwWXdnMEwvUXZ0QzMwTExRdnRDNzBMalJnaURSZ2RDKzBMTFF0ZEdBMFlqUXRkQzkwWUhSZ3RDeTBMN1FzdEN3MFlMUmpDRFF1dEN3MFlmUXRkR0IwWUxRc3RDK0lOQyswTEhSZ05DdzBMZlF2dEN5MExEUmd0QzEwTHZSak5DOTBMN1FzOUMrSU5DLzBZRFF2dEdHMExYUmdkR0IwTEF1UEM5a1pYTmpjbWx3ZEdsdmJqNEtJQ0FnSUR4a1pYTmpjbWx3ZEdsdmJpQmtaWE5qY21sd2RHbHZibFI1Y0dVOUlrRmljM1J5WVdOMElqNVVhR1VnY21Wc1pYWmhibU5sSUc5bUlIUm9hWE1nZDI5eWF5QnBjeUJqWVhWelpXUWdZbmtnYVcxd2IzSjBZVzVqWlNCdlppQmhZMk52ZFc1MElHbHVJR1ZrZFdOaGRHbHZibUZzSUhCeWIyTmxjM01nYjJZZ2NHVnljMjl1WVd3Z2NYVmhiR2wwYVdWeklHOW1JSFJ5WVdsdVpXVnpMaUJKYlhCdmNuUmhibU5sSUc5bUlIUm9aU0J6YjJ4MWRHbHZiaUJ2WmlCMGFHbHpJSEJ5YjJKc1pXMGdhWE1nWkdWbWFXNWxaQ0JpZVNCMGFHVWdabUZqZENCMGFHRjBJR052YlhCbGRHVnVZMlV0WW1GelpXUWdZWEJ3Y205aFkyZ2dZWE56ZFcxbGN5Qm1iM0p0WVhScGIyNGdiMllnWm5WMGRYSmxJSGR2Y210bGNuTWdZMkZ3WVdKc1pTQnBibVJsY0dWdVpHVnVkR3g1SUhSdklIZHZjbXNnYVc0Z2RtRnlhVzkxY3lCemFYUjFZWFJwYjI1ekxDQjBieUJvWVhabElHRnVJR2x0Y0dGamRDQnZiaUJ2ZEdobGNuTXVJRmRvWlc0Z2RISmhhVzVwYm1jZ2FXNGdibTl1TFhWdWFXWnZjbTBnWldSMVkyRjBhVzl1WVd3Z1kyOXNiR1ZqZEdsMlpYTWdLR2R5YjNWd2N5a2dhWFFnYVhNZ2NHOXpjMmxpYkdVZ2RHOGdZV3hzYjJOaGRHVWdjM1ZpWjNKdmRYQnpJRzltSUhCMWNHbHNjeUJpZVNCa2FXWm1aWEpsYm5RZ1kzSnBkR1Z5YVdFNklIUnZJR0ZpYVd4cGRHbGxjeXdnY0hKdlozSmxjM01zSUdScGMyTnBjR3hwYm1Vc0lHVjBZeTRnVTNWaVozSnZkWEJ6SUc5bUlIUnlZV2x1WldWeklHaGhkbVVnWVc0Z2FXMXdZV04wSUdGMElHVmhZMmdnYjNSb1pYSXVJRVp2Y21ObElHOW1JSFJvYVhNZ2FXNW1iSFZsYm1ObElHUmxjR1Z1WkhNZ2IyNGdkR2hsSUc1MWJXSmxjaUJ2WmlCemRXSm5jbTkxY0hNc0lHOW1JR052WldabWFXTnBaVzUwY3lCdlppQnBibVpzZFdWdVkyVWdZVzVrSUhScGJXVWdiMllnYVcxd1lXTjBMaUJCY3lCaElISmxjM1ZzZENCdlppQnRkWFIxWVd3Z2FXNW1iSFZsYm1ObExDQnBkQ0JwY3lCd2IzTnphV0pzWlNCdlppQjBhR1VnZEhKaGFXNWxaU0IwYnlCdGIzWmxJR1p5YjIwZ2IyNWxJR2R5YjNWd0lIUnZJR0Z1YjNSb1pYSXVJRlJvWlNCaGNuUnBZMnhsSUhWelpYTWdkR2hsSUcxbGRHaHZaQ0J2WmlCdFlYUm9aVzFoZEdsallXd2diVzlrWld4cGJtY2dkRzhnWVc1aGJIbDZaU0JoYm1RZ1lXTmpiM1Z1ZENCbWIzSWdkR2hsSUdSNWJtRnRhV01nYVc1MFpYSmhZM1JwYjI0Z2IyWWdjSFZ3YVd4eklHbHVJSFJvWlNCMFpXRnRMaUJVYUdVZ2JXOWtaV3dnYVhNZ1ltRnpaV1FnYjI0Z2RHaGxJSE41YzNSbGJTQnZaaUJrYVdabVpYSmxiblJwWVd3Z1pYRjFZWFJwYjI1eklHOW1JRW91SUVadmNuSmxjM1JsY2k0Z1ZHaGxJR0Z1WVd4NWRHbGpZV3dnYzI5c2RYUnBiMjRnYjJZZ1lTQnplWE4wWlcwZ1ptOXlJR0VnYzNSaGJtUmhjbVFnWTJGelpTQnBiaUJsWkhWallYUnBiMjVoYkNCd2NtOWpaWE56SUMwZ1pYaHBjM1JsYm1ObElHOW1JSFJvY21WbElIUjVjR1Z6SUc5bUlITjFZbWR5YjNWd2N5QnZaaUIwY21GcGJtVmxjeUJwY3lCeVpXTmxhWFpsWkM0Z1FTQnVkVzFsY21sallXd2daWGhoYlhCc1pTQnBjeUJuYVhabGJpQjBieUJwYkd4MWMzUnlZWFJsSUhSb1pTQnlaWE4xYkhSekxpQlNaWE4xYkhSeklHOW1JR2wwY3lCa1pXTnBjMmx2YmlCaGNtVWdjSEpsYzJWdWRHVmtJR2R5WVhCb2FXTmhiR3g1TGlCSmJYQnZjblJoYm5RZ2MzQmxZMmxoYkNCallYTmxjeUJ2WmlCMGFHVWdSMlZ1WlhKaGJDQnplWE4wWlcwZ2IyWWdaR2xtWm1WeVpXNTBhV0ZzSUdWeGRXRjBhVzl1Y3lBb2MyVjBkR2x1WnlCdlppQnlaV3hoZEdsdmJuTWdZbVYwZDJWbGJpQjBhR1VnWTI5bFptWnBZMmxsYm5SeklHOW1JR2x1Wm14MVpXNWpaU2tnWVhKbElHTnZibk5wWkdWeVpXUXVJRlJvWlNCa1pYWmxiRzl3WldRZ2JXRjBhR1Z0WVhScFkyRnNJRzF2WkdWc0lIZHBiR3dnYVcxd2NtOTJaU0IwYUdVZ2NYVmhiR2wwZVNCdlppQjBhR1VnWldSMVkyRjBhVzl1WVd3Z2NISnZZMlZ6Y3k0OEwyUmxjMk55YVhCMGFXOXVQZ29nSUNBZ1BHUmxjMk55YVhCMGFXOXVJR1JsYzJOeWFYQjBhVzl1Vkhsd1pUMGlVMlZ5YVdWelNXNW1iM0p0WVhScGIyNGlQdUtFbGpFb01qUXBJQ2d5TURFNUtUd3ZaR1Z6WTNKcGNIUnBiMjQrQ2lBZ1BDOWtaWE5qY21sd2RHbHZibk0rQ2p3dmNtVnpiM1Z5WTJVKyIsInVybCI6Imh0dHBzOi8vbW9pdC52aXZ0LnJ1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE5LzAxL0dhbmljaGV2YUdhbmljaGV2XzFfMTlfMS5wZGYiLCJjb250ZW50VXJsIjpudWxsLCJtZXRhZGF0YVZlcnNpb24iOjIwLCJzY2hlbWFWZXJzaW9uIjoiaHR0cDovL2RhdGFjaXRlLm9yZy9zY2hlbWEva2VybmVsLTQiLCJzb3VyY2UiOiJtZHMiLCJpc0FjdGl2ZSI6dHJ1ZSwic3RhdGUiOiJmaW5kYWJsZSIsInJlYXNvbiI6bnVsbCwidmlld0NvdW50IjowLCJ2aWV3c092ZXJUaW1lIjpbXSwiZG93bmxvYWRDb3VudCI6MCwiZG93bmxvYWRzT3ZlclRpbWUiOltdLCJyZWZlcmVuY2VDb3VudCI6MCwiY2l0YXRpb25Db3VudCI6MCwiY2l0YXRpb25zT3ZlclRpbWUiOltdLCJjcmVhdGVkIjoiMjAxOS0wMi0xMlQwOToxNTo0MS4wMDBaIiwicmVnaXN0ZXJlZCI6IjIwMTktMDItMTJUMDk6MTU6NDIuMDAwWiIsInB1Ymxpc2hlZCI6IjIwMTkiLCJ1cGRhdGVkIjoiMjAyMC0wMi0yM1QyMDoyOToyOC4wMDBaIn0sInJlbGF0aW9uc2hpcHMiOnsiY2xpZW50Ijp7ImRhdGEiOnsiaWQiOiJyYWRzLnZpdnQiLCJ0eXBlIjoiY2xpZW50cyJ9fSwibWVkaWEiOnsiZGF0YSI6eyJpZCI6IjEwLjI2MTAyLzIzMTAtNjAxOC8yMDE5LjI0LjEuMDA2IiwidHlwZSI6Im1lZGlhIn19LCJyZWZlcmVuY2VFdmVudHMiOnsiZGF0YSI6W119LCJjaXRhdGlvbkV2ZW50cyI6eyJkYXRhIjpbXX19fSwiaW5jbHVkZWQiOlt7ImlkIjoicmFkcy52aXZ0IiwidHlwZSI6ImNsaWVudHMiLCJhdHRyaWJ1dGVzIjp7Im5hbWUiOiJWb3JvbmV6aCBJbnN0aXR1dGUgb2YgSGlnaCBUZWNobm9sb2dpZXMiLCJzeW1ib2wiOiJSQURTLlZJVlQiLCJ5ZWFyIjoyMDE5LCJjb250YWN0RW1haWwiOiJpbmZvQHJhZHMtZG9pLm9yZyIsImFsdGVybmF0ZU5hbWUiOm51bGwsImRlc2NyaXB0aW9uIjpudWxsLCJsYW5ndWFnZSI6bnVsbCwiY2xpZW50VHlwZSI6InJlcG9zaXRvcnkiLCJkb21haW5zIjoiKiIsInJlM2RhdGEiOm51bGwsIm9wZW5kb2FyIjpudWxsLCJpc3NuIjpudWxsLCJ1cmwiOm51bGwsImNyZWF0ZWQiOiIyMDE5LTAxLTI0VDE2OjAzOjUxLjAwMFoiLCJ1cGRhdGVkIjoiMjAxOS0wMS0yNFQxNjowNDo1OC4wMDBaIiwiaXNBY3RpdmUiOnRydWUsImhhc1Bhc3N3b3JkIjp0cnVlfSwicmVsYXRpb25zaGlwcyI6eyJwcm92aWRlciI6eyJkYXRhIjp7ImlkIjoicmFkcyIsInR5cGUiOiJwcm92aWRlcnMifX0sInByZWZpeGVzIjp7ImRhdGEiOlt7ImlkIjoiMTAuMjYxMDIiLCJ0eXBlIjoicHJlZml4ZXMifV19fX1dfQ==
93
+ http_version:
94
+ recorded_at: Sun, 23 Feb 2020 20:34:01 GMT
95
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,64 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.datacite.org/dois/10.5281/zenodo.28518
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; Maremma/4.6; mailto:info@datacite.org)
12
+ Accept:
13
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Date:
20
+ - Mon, 24 Feb 2020 21:00:02 GMT
21
+ Content-Type:
22
+ - application/json; charset=utf-8
23
+ Connection:
24
+ - keep-alive
25
+ Status:
26
+ - 200 OK
27
+ X-Anonymous-Consumer:
28
+ - 'true'
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Vary:
32
+ - Accept-Encoding, Origin
33
+ X-Request-Id:
34
+ - df083167-9952-4205-a7a0-fb493f2bcb70
35
+ Etag:
36
+ - W/"91124aee7a5f6ab666da3ddd108ba2b1"
37
+ X-Runtime:
38
+ - '1.580712'
39
+ X-Powered-By:
40
+ - Phusion Passenger 6.0.4
41
+ Server:
42
+ - nginx/1.14.0 + Phusion Passenger 6.0.4
43
+ body:
44
+ encoding: ASCII-8BIT
45
+ string: '{"data":{"id":"10.5281/zenodo.28518","type":"dois","attributes":{"doi":"10.5281/zenodo.28518","prefix":"10.5281","suffix":"zenodo.28518","identifiers":[{"identifier":"https://doi.org/10.5281/zenodo.28518","identifierType":"DOI"},{"identifier":"https://zenodo.org/record/28518","identifierType":"URL"}],"creators":[{"name":"Vanderplas,
46
+ Jake","nameType":"Personal","givenName":"Jake","familyName":"Vanderplas","affiliation":["University
47
+ of Washington"]},{"name":"Willmer, Alex","nameType":"Personal","givenName":"Alex","familyName":"Willmer","affiliation":[]}],"titles":[{"title":"Supersmoother:
48
+ Minor Bug Fix Release"}],"publisher":"Zenodo","container":{},"publicationYear":2015,"subjects":[],"contributors":[],"dates":[{"date":"2015-08-19","dateType":"Issued"}],"language":null,"types":{"ris":"COMP","bibtex":"misc","citeproc":"article","schemaOrg":"SoftwareSourceCode","resourceTypeGeneral":"Software"},"relatedIdentifiers":[{"relationType":"IsSupplementTo","relatedIdentifier":"https://github.com/jakevdp/supersmoother/tree/v0.3.2","relatedIdentifierType":"URL"},{"relationType":"IsVersionOf","relatedIdentifier":"10.5281/zenodo.593209","relatedIdentifierType":"DOI"}],"sizes":[],"formats":[],"version":null,"rightsList":[{"rights":"Open
49
+ Access","rightsUri":"info:eu-repo/semantics/openAccess"}],"descriptions":[{"description":"Fix
50
+ issues with installation as a dependency","descriptionType":"Abstract"}],"geoLocations":[],"fundingReferences":[],"xml":"PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KPHJlc291cmNlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00LjEvbWV0YWRhdGEueHNkIj4KICA8aWRlbnRpZmllciBpZGVudGlmaWVyVHlwZT0iRE9JIj4xMC41MjgxL3plbm9kby4yODUxODwvaWRlbnRpZmllcj4KICA8Y3JlYXRvcnM+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lPkpha2UgVmFuZGVycGxhczwvY3JlYXRvck5hbWU+CiAgICAgIDxhZmZpbGlhdGlvbj5Vbml2ZXJzaXR5IG9mIFdhc2hpbmd0b248L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZT5BbGV4IFdpbGxtZXI8L2NyZWF0b3JOYW1lPgogICAgPC9jcmVhdG9yPgogIDwvY3JlYXRvcnM+CiAgPHRpdGxlcz4KICAgIDx0aXRsZT5TdXBlcnNtb290aGVyOiBNaW5vciBCdWcgRml4IFJlbGVhc2U8L3RpdGxlPgogIDwvdGl0bGVzPgogIDxwdWJsaXNoZXI+WmVub2RvPC9wdWJsaXNoZXI+CiAgPHB1YmxpY2F0aW9uWWVhcj4yMDE1PC9wdWJsaWNhdGlvblllYXI+CiAgPGRhdGVzPgogICAgPGRhdGUgZGF0ZVR5cGU9Iklzc3VlZCI+MjAxNS0wOC0xOTwvZGF0ZT4KICA8L2RhdGVzPgogIDxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iU29mdHdhcmUiLz4KICA8YWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgICA8YWx0ZXJuYXRlSWRlbnRpZmllciBhbHRlcm5hdGVJZGVudGlmaWVyVHlwZT0idXJsIj5odHRwczovL3plbm9kby5vcmcvcmVjb3JkLzI4NTE4PC9hbHRlcm5hdGVJZGVudGlmaWVyPgogIDwvYWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgPHJlbGF0ZWRJZGVudGlmaWVycz4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IlVSTCIgcmVsYXRpb25UeXBlPSJJc1N1cHBsZW1lbnRUbyI+aHR0cHM6Ly9naXRodWIuY29tL2pha2V2ZHAvc3VwZXJzbW9vdGhlci90cmVlL3YwLjMuMjwvcmVsYXRlZElkZW50aWZpZXI+CiAgICA8cmVsYXRlZElkZW50aWZpZXIgcmVsYXRlZElkZW50aWZpZXJUeXBlPSJET0kiIHJlbGF0aW9uVHlwZT0iSXNWZXJzaW9uT2YiPjEwLjUyODEvemVub2RvLjU5MzIwOTwvcmVsYXRlZElkZW50aWZpZXI+CiAgPC9yZWxhdGVkSWRlbnRpZmllcnM+CiAgPHZlcnNpb24+djAuMy4yPC92ZXJzaW9uPgogIDxyaWdodHNMaXN0PgogICAgPHJpZ2h0cyByaWdodHNVUkk9ImluZm86ZXUtcmVwby9zZW1hbnRpY3Mvb3BlbkFjY2VzcyI+T3BlbiBBY2Nlc3M8L3JpZ2h0cz4KICA8L3JpZ2h0c0xpc3Q+CiAgPGRlc2NyaXB0aW9ucz4KICAgIDxkZXNjcmlwdGlvbiBkZXNjcmlwdGlvblR5cGU9IkFic3RyYWN0Ij4mbHQ7dWwmZ3Q7CiZsdDtsaSZndDtGaXggaXNzdWVzIHdpdGggaW5zdGFsbGF0aW9uIGFzIGEgZGVwZW5kZW5jeSZsdDsvbGkmZ3Q7CiZsdDsvdWwmZ3Q7PC9kZXNjcmlwdGlvbj4KICA8L2Rlc2NyaXB0aW9ucz4KPC9yZXNvdXJjZT4K","url":"https://zenodo.org/record/28518","contentUrl":null,"metadataVersion":2,"schemaVersion":"http://datacite.org/schema/kernel-4","source":null,"isActive":true,"state":"findable","reason":null,"viewCount":0,"viewsOverTime":[],"downloadCount":0,"downloadsOverTime":[],"referenceCount":0,"citationCount":0,"citationsOverTime":[],"created":"2015-08-19T14:28:37.000Z","registered":"2015-08-19T14:28:38.000Z","published":"2015","updated":"2019-08-02T08:47:26.000Z"},"relationships":{"client":{"data":{"id":"cern.zenodo","type":"clients"}},"media":{"data":{"id":"10.5281/zenodo.28518","type":"media"}},"referenceEvents":{"data":[]},"citationEvents":{"data":[]}}},"included":[{"id":"cern.zenodo","type":"clients","attributes":{"name":"Zenodo","symbol":"CERN.ZENODO","year":2013,"contactEmail":"info@zenodo.org","alternateName":"Research.
51
+ Shared","description":"ZENODO builds and operates a simple and innovative
52
+ service that enables researchers, scientists, EU projects and institutions
53
+ to share and showcase multidisciplinary research results (data and publications)
54
+ that are not part of the existing institutional or subject-based repositories
55
+ of the research communities.\r\nZENODO enables researchers, scientists, EU
56
+ projects and institutions to:\r\neasily share the long tail of small research
57
+ results in a wide variety of formats including text, spreadsheets, audio,
58
+ video, and images across all fields of science.\r\ndisplay their research
59
+ results and get credited by making the research results citable and integrate
60
+ them into existing reporting lines to funding agencies like the European Commission.\r\neasily
61
+ access and reuse shared research results.","language":["en"],"clientType":"repository","domains":"openaire.cern.ch,zenodo.org","re3data":"https://doi.org/10.17616/R3QP53","opendoar":null,"issn":[],"url":"https://zenodo.org/","created":"2013-01-28T12:07:48.000Z","updated":"2019-08-02T17:08:53.000Z","isActive":true,"hasPassword":true},"relationships":{"provider":{"data":{"id":"cern","type":"providers"}},"prefixes":{"data":[{"id":"10.5281","type":"prefixes"}]}}}]}'
62
+ http_version:
63
+ recorded_at: Mon, 24 Feb 2020 21:00:02 GMT
64
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,55 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.datacite.org/dois/10.5438/4k3m-nyvg
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; Maremma/4.6; mailto:info@datacite.org)
12
+ Accept:
13
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Date:
20
+ - Tue, 25 Feb 2020 09:51:41 GMT
21
+ Content-Type:
22
+ - application/json; charset=utf-8
23
+ Connection:
24
+ - keep-alive
25
+ Status:
26
+ - 200 OK
27
+ X-Anonymous-Consumer:
28
+ - 'true'
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Vary:
32
+ - Accept-Encoding, Origin
33
+ Etag:
34
+ - W/"b6613a8189d517f296630f1d60aa5d11"
35
+ X-Runtime:
36
+ - '1.270663'
37
+ X-Request-Id:
38
+ - eddc6fb0-f57b-4964-8063-8f2b0b2f3ba7
39
+ X-Powered-By:
40
+ - Phusion Passenger 6.0.4
41
+ Server:
42
+ - nginx/1.14.0 + Phusion Passenger 6.0.4
43
+ body:
44
+ encoding: ASCII-8BIT
45
+ string: '{"data":{"id":"10.5438/4k3m-nyvg","type":"dois","attributes":{"doi":"10.5438/4k3m-nyvg","prefix":"10.5438","suffix":"4k3m-nyvg","identifiers":[{"identifier":"https://doi.org/10.5438/4k3m-nyvg","identifierType":"DOI"},{"identifier":"MS-49-3632-5083","identifierType":"Local
46
+ accession number"}],"creators":[{"name":"Fenner, Martin","nameType":"Personal","givenName":"Martin","familyName":"Fenner","affiliation":[],"nameIdentifiers":[{"nameIdentifier":"https://orcid.org/0000-0003-1419-2405","nameIdentifierScheme":"ORCID"}]}],"titles":[{"title":"Eating
47
+ your own Dog Food"}],"publisher":"DataCite","container":{"type":"Series","identifier":"10.5438/0000-00SS","identifierType":"DOI"},"publicationYear":2016,"subjects":[{"subject":"datacite"},{"subject":"doi"},{"subject":"metadata"}],"contributors":[],"dates":[{"date":"2016-12-20","dateType":"Created"},{"date":"2016-12-20","dateType":"Issued"},{"date":"2016-12-20","dateType":"Updated"}],"language":null,"types":{"ris":"RPRT","bibtex":"article","citeproc":"article-journal","schemaOrg":"ScholarlyArticle","resourceType":"BlogPosting","resourceTypeGeneral":"Text"},"relatedIdentifiers":[{"relationType":"References","relatedIdentifier":"10.5438/0012","relatedIdentifierType":"DOI"},{"relationType":"References","relatedIdentifier":"10.5438/55e5-t5c0","relatedIdentifierType":"DOI"},{"relationType":"IsPartOf","relatedIdentifier":"10.5438/0000-00ss","relatedIdentifierType":"DOI"}],"sizes":[],"formats":[],"version":null,"rightsList":[],"descriptions":[{"description":"Eating
48
+ your own dog food is a slang term to describe that an organization should
49
+ itself use the products and services it provides. For DataCite this means
50
+ that we should use DOIs with appropriate metadata and strategies for long-term
51
+ preservation for...","descriptionType":"Abstract"}],"geoLocations":[],"fundingReferences":[],"xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00L21ldGFkYXRhLnhzZCI+CiAgPGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTQzOC80SzNNLU5ZVkc8L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZT5GZW5uZXIsIE1hcnRpbjwvY3JlYXRvck5hbWU+CiAgICAgIDxnaXZlbk5hbWU+TWFydGluPC9naXZlbk5hbWU+CiAgICAgIDxmYW1pbHlOYW1lPkZlbm5lcjwvZmFtaWx5TmFtZT4KICAgICAgPG5hbWVJZGVudGlmaWVyIHNjaGVtZVVSST0iaHR0cDovL29yY2lkLm9yZy8iIG5hbWVJZGVudGlmaWVyU2NoZW1lPSJPUkNJRCI+MDAwMC0wMDAzLTE0MTktMjQwNTwvbmFtZUlkZW50aWZpZXI+CiAgICA8L2NyZWF0b3I+CiAgPC9jcmVhdG9ycz4KICA8dGl0bGVzPgogICAgPHRpdGxlPkVhdGluZyB5b3VyIG93biBEb2cgRm9vZDwvdGl0bGU+CiAgPC90aXRsZXM+CiAgPHB1Ymxpc2hlcj5EYXRhQ2l0ZTwvcHVibGlzaGVyPgogIDxwdWJsaWNhdGlvblllYXI+MjAxNjwvcHVibGljYXRpb25ZZWFyPgogIDxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iVGV4dCI+QmxvZ1Bvc3Rpbmc8L3Jlc291cmNlVHlwZT4KICA8YWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgICA8YWx0ZXJuYXRlSWRlbnRpZmllciBhbHRlcm5hdGVJZGVudGlmaWVyVHlwZT0iTG9jYWwgYWNjZXNzaW9uIG51bWJlciI+TVMtNDktMzYzMi01MDgzPC9hbHRlcm5hdGVJZGVudGlmaWVyPgogIDwvYWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgPHN1YmplY3RzPgogICAgPHN1YmplY3Q+ZGF0YWNpdGU8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5kb2k8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5tZXRhZGF0YTwvc3ViamVjdD4KICA8L3N1YmplY3RzPgogIDxkYXRlcz4KICAgIDxkYXRlIGRhdGVUeXBlPSJDcmVhdGVkIj4yMDE2LTEyLTIwPC9kYXRlPgogICAgPGRhdGUgZGF0ZVR5cGU9Iklzc3VlZCI+MjAxNi0xMi0yMDwvZGF0ZT4KICAgIDxkYXRlIGRhdGVUeXBlPSJVcGRhdGVkIj4yMDE2LTEyLTIwPC9kYXRlPgogIDwvZGF0ZXM+CiAgPHJlbGF0ZWRJZGVudGlmaWVycz4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSIgcmVsYXRpb25UeXBlPSJSZWZlcmVuY2VzIj4xMC41NDM4LzAwMTI8L3JlbGF0ZWRJZGVudGlmaWVyPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iRE9JIiByZWxhdGlvblR5cGU9IlJlZmVyZW5jZXMiPjEwLjU0MzgvNTVFNS1UNUMwPC9yZWxhdGVkSWRlbnRpZmllcj4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSIgcmVsYXRpb25UeXBlPSJJc1BhcnRPZiI+MTAuNTQzOC8wMDAwLTAwU1M8L3JlbGF0ZWRJZGVudGlmaWVyPgogIDwvcmVsYXRlZElkZW50aWZpZXJzPgogIDx2ZXJzaW9uPjEuMDwvdmVyc2lvbj4KICA8ZGVzY3JpcHRpb25zPgogICAgPGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iQWJzdHJhY3QiPkVhdGluZyB5b3VyIG93biBkb2cgZm9vZCBpcyBhIHNsYW5nIHRlcm0gdG8gZGVzY3JpYmUgdGhhdCBhbiBvcmdhbml6YXRpb24gc2hvdWxkIGl0c2VsZiB1c2UgdGhlIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcyBpdCBwcm92aWRlcy4gRm9yIERhdGFDaXRlIHRoaXMgbWVhbnMgdGhhdCB3ZSBzaG91bGQgdXNlIERPSXMgd2l0aCBhcHByb3ByaWF0ZSBtZXRhZGF0YSBhbmQgc3RyYXRlZ2llcyBmb3IgbG9uZy10ZXJtIHByZXNlcnZhdGlvbiBmb3IuLi48L2Rlc2NyaXB0aW9uPgogIDwvZGVzY3JpcHRpb25zPgo8L3Jlc291cmNlPg==","url":"https://blog.datacite.org/eating-your-own-dog-food/","contentUrl":null,"metadataVersion":2,"schemaVersion":null,"source":null,"isActive":true,"state":"findable","reason":null,"viewCount":0,"viewsOverTime":[],"downloadCount":0,"downloadsOverTime":[],"referenceCount":0,"citationCount":1,"citationsOverTime":[{"year":"2019","total":1}],"created":"2016-12-19T20:49:20.000Z","registered":"2016-12-19T20:49:21.000Z","published":"2016","updated":"2019-12-05T09:31:57.000Z"},"relationships":{"client":{"data":{"id":"datacite.blog","type":"clients"}},"media":{"data":{"id":"10.5438/4k3m-nyvg","type":"media"}},"referenceEvents":{"data":[]},"citationEvents":{"data":[{"id":"d0257c70-d63a-4804-a11a-2c4c4b373564","type":"events"}]}}},"included":[{"id":"datacite.blog","type":"clients","attributes":{"name":"DataCite
52
+ Blog","symbol":"DATACITE.BLOG","year":2019,"contactEmail":"info@datacite.org","alternateName":null,"description":null,"language":null,"clientType":"repository","domains":"*","re3data":null,"opendoar":null,"issn":null,"url":"https://blog.datacite.org","created":"2019-01-02T14:27:23.000Z","updated":"2019-01-02T17:22:42.000Z","isActive":true,"hasPassword":true},"relationships":{"provider":{"data":{"id":"datacite","type":"providers"}},"prefixes":{"data":[{"id":"10.5438","type":"prefixes"}]}}},{"id":"0000-0000-0001-70nh","type":"media","attributes":{"version":0,"url":"https://blog.datacite.org/eating-your-own-dog-food/eating-your-own-dog-food.xml","mediaType":"application/xml","created":"2017-01-09T13:53:12.000Z","updated":"2017-01-09T13:53:12.000Z"},"relationships":{"doi":{"data":{"id":"10.5438/4K3M-NYVG","type":"dois"}}}}]}'
53
+ http_version:
54
+ recorded_at: Tue, 25 Feb 2020 09:51:42 GMT
55
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,146 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://schema.org/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/ld+json;profile=http://www.w3.org/ns/json-ld#context, application/ld+json;q=0.9,
12
+ text/html;q=0.8, application/xhtml+xml;q=0.8, application/json;q=0.5
13
+ User-Agent:
14
+ - Ruby RDF.rb/3.1.1
15
+ Accept-Encoding:
16
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
17
+ response:
18
+ status:
19
+ code: 301
20
+ message: Moved Permanently
21
+ headers:
22
+ Location:
23
+ - https://schema.org/
24
+ X-Cloud-Trace-Context:
25
+ - 62a729f27f9c8ffe4bca08cdad0c8770
26
+ Date:
27
+ - Tue, 25 Feb 2020 09:31:22 GMT
28
+ Content-Type:
29
+ - text/html
30
+ Server:
31
+ - Google Frontend
32
+ Content-Length:
33
+ - '0'
34
+ body:
35
+ encoding: UTF-8
36
+ string: ''
37
+ http_version:
38
+ recorded_at: Tue, 25 Feb 2020 09:31:23 GMT
39
+ - request:
40
+ method: get
41
+ uri: https://schema.org/
42
+ body:
43
+ encoding: US-ASCII
44
+ string: ''
45
+ headers:
46
+ Accept:
47
+ - application/ld+json;profile=http://www.w3.org/ns/json-ld#context, application/ld+json;q=0.9,
48
+ text/html;q=0.8, application/xhtml+xml;q=0.8, application/json;q=0.5
49
+ User-Agent:
50
+ - Ruby RDF.rb/3.1.1
51
+ Accept-Encoding:
52
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
53
+ response:
54
+ status:
55
+ code: 200
56
+ message: OK
57
+ headers:
58
+ Access-Control-Allow-Origin:
59
+ - "*"
60
+ Content-Type:
61
+ - text/html
62
+ Vary:
63
+ - Accept, Accept-Encoding
64
+ X-Cloud-Trace-Context:
65
+ - 57c808aa12823643e35b94865a41e0b2
66
+ Date:
67
+ - Tue, 25 Feb 2020 09:31:22 GMT
68
+ Server:
69
+ - Google Frontend
70
+ Content-Length:
71
+ - '5083'
72
+ Cache-Control:
73
+ - public, max-age=600
74
+ Age:
75
+ - '1'
76
+ Alt-Svc:
77
+ - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443";
78
+ ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443";
79
+ ma=2592000
80
+ body:
81
+ encoding: UTF-8
82
+ string: "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <!-- Generated from
83
+ headtags.tpl -->\n <meta charset=\"utf-8\" >\n <link rel=\"shortcut
84
+ icon\" type=\"image/png\" href=\"docs/favicon.ico\"/>\n <link rel=\"stylesheet\"
85
+ type=\"text/css\" href=\"docs/schemaorg.css\" />\n <link rel=\"stylesheet\"
86
+ type=\"text/css\" href=\"docs/prettify.css\" />\n <script type=\"text/javascript\"
87
+ src=\"docs/prettify.js\"></script>\n \n <script type=\"text/javascript\"
88
+ src=\"//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js\"></script>\n<!--
89
+ ##### Generated insert [CSEScript-start] see scripts/genhtmlinserts.sh #####
90
+ --> \n<!-- Enable CSE Search -->\n<script>\n(function() {\nvar cx = '013516846811604855281:nj5laplixaa';
91
+ // Insert your own Custom Search engine ID here\nvar gcse = document.createElement('script');
92
+ gcse.type = 'text/javascript'; gcse.async = true;\ngcse.src = 'https://cse.google.com/cse.js?cx='
93
+ + cx;\nvar s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse,
94
+ s);\n})();\n</script>\n<!-- ##### Generated insert [CSEScript-end] see scripts/genhtmlinserts.sh
95
+ ##### --> \n<!-- End headtags.tpl -->\n <title>Home - schema.org</title>\n
96
+ \ <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n
97
+ \ <meta name=\"description\" content=\"Schema.org is a set of extensible
98
+ schemas that enables webmasters to embed\n structured data on their web
99
+ pages for use by search engines and other applications.\" />\n <link rel=\"stylesheet\"
100
+ type=\"text/css\" href=\"/docs/schemaorg.css\">\n</head>\n<body>\n<!-- Header
101
+ start from basicPageHeader.tpl -->\n<div id=\"container\">\n\t<div id=\"intro\">\n\t\t<div
102
+ id=\"pageHeader\">\n\t\t\t<div class=\"wrapper\">\n\t\t\t\t<div id=\"sitename\">\n\t\t\t\t<h1>\n\t\t\t\t\t<a
103
+ href=\"/\">schema.org</a>\n\t\t\t\t</h1>\n\t\t\t\t</div>\n\t\t\t\t<div id=\"cse-search-form\"
104
+ style=\"width: 400px;\"><div class=\"gcse-searchbox-only\" data-resultsUrl=\"docs/search_results.html\"></div></div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n<div
105
+ id=\"selectionbar\">\n\t<div class=\"wrapper\">\n\t\t<ul>\n\t \n\t
106
+ \ <li>\n\t \n\t\t\t\t<a href=\"docs/documents.html\">Documentation</a>\n\t\t\t</li>\n\t
107
+ \ \n\t <li>\n\t \n\t\t\t\t<a href=\"docs/schemas.html\">Schemas</a>\n\t\t\t</li>\n\t\t\t<li>\n\t
108
+ \ \n\t\t\t\t<a href=\"docs/about.html\">About</a>\n\t \n\t\t\t</li>\n\t\t</ul>\n\t</div>\n</div>\n\n<!--
109
+ Header start from topnotes.tpl -->\n\n\n\n\n\n<!-- Header end from topnotes.tpl
110
+ -->\n\n<!-- Header end from basicPageHeader.tpl -->\n\n <div id=\"mainContent\">\n\n\n\n\n\n\n\n\n\n\n
111
+ \ <h1>Welcome to Schema.org</h1>\n\n\n<p>\n Schema.org is a collaborative,
112
+ community activity with a mission to create,\n maintain, and promote schemas
113
+ for structured data on the\n Internet, on web pages, in email messages,
114
+ and beyond.\n</p>\n\n<p>\n Schema.org vocabulary can be used with many
115
+ different encodings,\n including RDFa, Microdata and JSON-LD. These vocabularies
116
+ cover\n entities, relationships between entities and actions, and can\n
117
+ \ easily be extended through a well-documented extension model. Over 10
118
+ million sites use\n Schema.org to markup their web pages and email messages.\n
119
+ \ Many applications from Google, Microsoft, Pinterest, Yandex and others\n
120
+ \ already use these vocabularies to power rich, extensible experiences.\n</p>\n<p>\n
121
+ \ Founded by Google, Microsoft, Yahoo and Yandex,\n Schema.org vocabularies
122
+ are developed by an open <a href=\"https://www.w3.org/community/schemaorg\">community</a>
123
+ process,\n using the <a\n href=\"http://lists.w3.org/Archives/Public/public-schemaorg\">public-schemaorg@w3.org</a>\n
124
+ \ mailing list and through <a href=\"http://github.com/schemaorg/schemaorg\">GitHub</a>.\n</p>\n\n<p>\n
125
+ \ A shared vocabulary makes it easier for webmasters and developers to decide\n
126
+ \ on a schema and get the maximum benefit for their efforts.\n It is in
127
+ this spirit that the founders, together with the\n larger community have
128
+ come together - to provide a shared collection of schemas.\n </p>\n\n<p>\n
129
+ \ We invite you to <a href=\"docs/gs.html\">get started</a>!\n</p>\n<p>\n
130
+ \ View our blog at <a href=\"http://blog.schema.org\">blog.schema.org</a>
131
+ or see <a href=\"/docs/releases.html\">release history</a> for version 6.0.\n</p>\n\n<br/>\n</div>\n\n\n\n\n\n\n<div
132
+ id=\"footer\"><p>\n <a href=\"docs/terms.html\">Terms and conditions</a></p>\n</div>\n\n<script>\n
133
+ \ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n
134
+ \ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n
135
+ \ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n
136
+ \ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');\n\n
137
+ \ ga('create', 'UA-52672119-1', 'auto');\n ga('send', 'pageview');\n\n</script>\n\n\n\n<p><br/></p>\n\n<div
138
+ style=\"display: none;\">\n\n<div style=\"clear: both; float: left; text-align:
139
+ left; font-size: xx-small; color: #888 ; margin: 1em; line-height: 100%;\">\n
140
+ <ul>\n <li>SCHEMA_VERSION: 6.0 </li>\n <li>PYTHONAPP_VERSION: 2.0.1 </li>\n
141
+ \ <li>ENABLE_HOSTED_EXTENSIONS: True </li>\n <li>host_ext: </li>\n <li>myhost:
142
+ None </li>\n <li>myport: 80 </li>\n <li>mybasehost: schema.org </li>\n <li>debugging:
143
+ False </li>\n <li>AppEngine Version: 6-0 </li>\n </ul>\n</div>\n\n</div>\n\n</body>\n</html>"
144
+ http_version:
145
+ recorded_at: Tue, 25 Feb 2020 09:31:23 GMT
146
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,250 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://blog.datacite.org/eating-your-own-dog-food
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; Maremma/4.6; mailto:info@datacite.org)
12
+ Accept:
13
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
+ response:
15
+ status:
16
+ code: 302
17
+ message: Moved Temporarily
18
+ headers:
19
+ Content-Type:
20
+ - text/html; charset=utf-8
21
+ Content-Length:
22
+ - '313'
23
+ Connection:
24
+ - keep-alive
25
+ X-Amz-Error-Code:
26
+ - Found
27
+ X-Amz-Error-Message:
28
+ - Resource Found
29
+ Location:
30
+ - "/eating-your-own-dog-food/"
31
+ Date:
32
+ - Tue, 25 Feb 2020 09:31:26 GMT
33
+ Server:
34
+ - AmazonS3
35
+ X-Cache:
36
+ - Miss from cloudfront
37
+ Via:
38
+ - 1.1 d0be2eec997f966c9c7eb03ae2f75c30.cloudfront.net (CloudFront)
39
+ X-Amz-Cf-Pop:
40
+ - DUS51-C1
41
+ X-Amz-Cf-Id:
42
+ - ISQQjFinHALMnZiUv6lxDC3xDqJvvJvjuLEtE9tcEAM-TezG3UYNwQ==
43
+ body:
44
+ encoding: ASCII-8BIT
45
+ string: |
46
+ <html>
47
+ <head><title>302 Moved Temporarily</title></head>
48
+ <body>
49
+ <h1>302 Moved Temporarily</h1>
50
+ <ul>
51
+ <li>Code: Found</li>
52
+ <li>Message: Resource Found</li>
53
+ <li>RequestId: ADA7E270CE01A31C</li>
54
+ <li>HostId: XxdVosoJ1wdw0t++lHPWD4wiS64LtgBKzEzWTEPWRqf2nh+LQF3jVUKw3yR40wjqRvnCcgZBUIU=</li>
55
+ </ul>
56
+ <hr/>
57
+ </body>
58
+ </html>
59
+ http_version:
60
+ recorded_at: Tue, 25 Feb 2020 09:31:27 GMT
61
+ - request:
62
+ method: get
63
+ uri: https://blog.datacite.org/eating-your-own-dog-food/
64
+ body:
65
+ encoding: US-ASCII
66
+ string: ''
67
+ headers:
68
+ User-Agent:
69
+ - Mozilla/5.0 (compatible; Maremma/4.6; mailto:info@datacite.org)
70
+ Accept:
71
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
72
+ response:
73
+ status:
74
+ code: 200
75
+ message: OK
76
+ headers:
77
+ Content-Type:
78
+ - text/html
79
+ Content-Length:
80
+ - '24014'
81
+ Connection:
82
+ - keep-alive
83
+ Date:
84
+ - Tue, 25 Feb 2020 09:31:28 GMT
85
+ Cache-Control:
86
+ - max-age=31536000
87
+ Last-Modified:
88
+ - Fri, 21 Feb 2020 13:53:01 GMT
89
+ Etag:
90
+ - '"2a1d1f17e373b5a630732cf373dd0de8"'
91
+ Server:
92
+ - AmazonS3
93
+ X-Cache:
94
+ - Miss from cloudfront
95
+ Via:
96
+ - 1.1 20f674d6a4a322fa027d3644cb825864.cloudfront.net (CloudFront)
97
+ X-Amz-Cf-Pop:
98
+ - DUS51-C1
99
+ X-Amz-Cf-Id:
100
+ - JpE6pJ-nOj3iQOYOBWHr-TbQq5JgqcnhI3ECCxoIqU4cqwsbZH0yZA==
101
+ body:
102
+ encoding: ASCII-8BIT
103
+ string: !binary |-
104
+ PCFET0NUWVBFIGh0bWw+CiAgPGh0bWw+CiAgICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICAgIDwhLS0gKDEpIE9wdGltaXplIGZvciBtb2JpbGUgdmVyc2lvbnM6IGh0dHA6Ly9nb28uZ2wvRU9wRmwgLS0+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8IS0tICgxKSBmb3JjZSBsYXRlc3QgSUUgcmVuZGVyaW5nIGVuZ2luZTogYml0Lmx5LzFjOEVpQzkgLS0+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiPgoKCiAgICA8dGl0bGU+RWF0aW5nIHlvdXIgb3duIERvZyBGb29kPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJFYXRpbmcgeW91ciBvd24gZG9nIGZvb2QgaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yLi4uIiAvPgoKICAgIDxtZXRhIG5hbWU9IkhhbmRoZWxkRnJpZW5kbHkiIGNvbnRlbnQ9IlRydWUiIC8+CiAgICA8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRlbnQ9IjMyMCIgLz4KICAgIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyI+CiAgICA8bWV0YSBuYW1lPSJhcHBsZS1tb2JpbGUtd2ViLWFwcC1zdGF0dXMtYmFyLXN0eWxlIiBjb250ZW50PSJibGFjay10cmFuc2x1Y2VudCI+CgogICAgPCEtLSBEdWJsaW5Db3JlIE1ldGFkYXRhIC0tPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnRpdGxlIiBjb250ZW50PSJFYXRpbmcgeW91ciBvd24gRG9nIEZvb2QiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6Zm9ybWF0IiBjb250ZW50PSJ0ZXh0L2h0bWwiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6bGFuZ3VhZ2UiIGNvbnRlbnQ9ImVuIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnJpZ2h0cyIgY29udGVudD0iQ0MtQlkiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6c291cmNlIiBjb250ZW50PSJEYXRhQ2l0ZSBCbG9nIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnN1YmplY3QiIGNvbnRlbnQ9IlNjaG9sYXJseSBDb21tdW5pY2F0aW9uIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiIC8+CgoKICAgIDxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IkVhdGluZyB5b3VyIG93biBEb2cgRm9vZCIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iRWF0aW5nIHlvdXIgb3duIGRvZyBmb29kIGlzIGEgc2xhbmcgdGVybSB0byBkZXNjcmliZSB0aGF0IGFuIG9yZ2FuaXphdGlvbiBzaG91bGQgaXRzZWxmIHVzZSB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGl0IHByb3ZpZGVzLiBGb3IgRGF0YUNpdGUgdGhpcyBtZWFucyB0aGF0IHdlIHNob3VsZCB1c2UgRE9JcyB3aXRoIGFwcHJvcHJpYXRlIG1ldGFkYXRhIGFuZCBzdHJhdGVnaWVzIGZvciBsb25nLXRlcm0gcHJlc2VydmF0aW9uIGZvci4uLiIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iL2ltYWdlcy8yMDE2LzEyLzIzMDc4NS5qcGciIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0iYmxvZyIgLz4KCiAgICA8bGluayBocmVmPSIvL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGlicmUrQmFza2VydmlsbGU6NDAwLDQwMGksNzAwIiByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0nLy9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJhbGV3YXk6NDAwLDYwMCw0MDBpdGFsaWMsNjAwaXRhbGljJyByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJz4KICAgIDxsaW5rIGhyZWY9Ii8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4xL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSd0ZXh0L2Nzcyc+CiAgICA8bGluayBocmVmPSJodHRwczovL2Fzc2V0cy5kYXRhY2l0ZS5vcmcvc3R5bGVzaGVldHMvZGF0YWNpdGUuY3NzIiByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJz4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vYXNzZXRzLmRhdGFjaXRlLm9yZy9pbWFnZXMvZmF2aWNvbi5pY28iIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvaWNvIiAvPgoKICAgICAgPHNjcmlwdAogICAgICAgIHNyYz0iLy9kMnd5OGY3YTl1cnNubS5jbG91ZGZyb250Lm5ldC9idWdzbmFnLTIubWluLmpzIgogICAgICAgIGRhdGEtYXBpa2V5PSJjMzdhNTg2MTk2NzA5MWE5YjQyYTFhNzdlMjM1MTE0YSI+CiAgICAgIDwvc2NyaXB0PgoKICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CiAgICAgIHsiQGNvbnRleHQiOiJodHRwOi8vc2NoZW1hLm9yZyIsIkB0eXBlIjoiQmxvZ1Bvc3RpbmciLCJAaWQiOiJodHRwczovL2RvaS5vcmcvMTAuNTQzOC80azNtLW55dmciLCJuYW1lIjoiRWF0aW5nIHlvdXIgb3duIERvZyBGb29kIiwidXJsIjoiaHR0cHM6Ly9ibG9nLmRhdGFjaXRlLm9yZy9lYXRpbmcteW91ci1vd24tZG9nLWZvb2QvIiwiYXV0aG9yIjpbeyJAdHlwZSI6IlBlcnNvbiIsIkBpZCI6Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDUiLCJnaXZlbk5hbWUiOiJNYXJ0aW4iLCJmYW1pbHlOYW1lIjoiRmVubmVyIiwibmFtZSI6Ik1hcnRpbiBGZW5uZXIiLCJhZmZpbGlhdGlvbiI6eyJAaWQiOiJodHRwczovL3Jvci5vcmcvMDR3eG5zajgxIiwibmFtZSI6IkRhdGFDaXRlIiwiQHR5cGUiOiJPcmdhbml6YXRpb24ifX1dLCJwdWJsaXNoZXIiOnsiQHR5cGUiOiJPcmdhbml6YXRpb24iLCJuYW1lIjoiRGF0YUNpdGUifSwiZGF0ZUNyZWF0ZWQiOiIyMDE2LTEyLTIwIiwiZGF0ZVB1Ymxpc2hlZCI6IjIwMTYtMTItMjAiLCJkYXRlTW9kaWZpZWQiOiIyMDE2LTEyLTIwIiwia2V5d29yZHMiOiJkYXRhY2l0ZSwgZG9pLCBtZXRhZGF0YSwgZmVhdHVyZWQiLCJ2ZXJzaW9uIjoiMS4wIiwiZGVzY3JpcHRpb24iOiJFYXRpbmcgeW91ciBvd24gZG9nIGZvb2QgaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yLi4uIiwibGljZW5zZSI6Imh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS80LjAvbGVnYWxjb2RlIiwiaW1hZ2UiOiIvaW1hZ2VzLzIwMTYvMTIvMjMwNzg1LmpwZyIsImlzUGFydE9mIjp7IkB0eXBlIjoiQmxvZyIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMDAtMDBTUyIsIm5hbWUiOiJEYXRhQ2l0ZSBCbG9nIn0sImNpdGF0aW9uIjpbeyJAdHlwZSI6IkNyZWF0aXZlV29yayIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIifSx7IkB0eXBlIjoiQ3JlYXRpdmVXb3JrIiwiQGlkIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNTVFNS1UNUMwIn1dfQogICAgPC9zY3JpcHQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPGhlYWRlciBjbGFzcz0iaGVhZGVyIiBpZD0ibmF2dG9wIj4KICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyIG5hdmJhci13aGl0ZSIgcm9sZT0ibmF2aWdhdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1oZWFkZXIiCiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibmF2YmFyLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLm5hdmJhci1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPlRvZ2dsZSBuYXZpZ2F0aW9uPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGEgY2xhc3M9Im5hdmJhci1icmFuZCIgaHJlZj0iLyI+RGF0YUNpdGUgQmxvZzwvYT4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1jb2xsYXBzZSBjb2xsYXBzZSI+CiAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IG5hdmJhci1uYXYgbmF2YmFyLXJpZ2h0Ij4KICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zdXBwb3J0LmRhdGFjaXRlLm9yZyI+U3VwcG9ydDwvYT48L2xpPgogICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBpZD0ic2l0ZXMiPjxpIGNsYXNzPSdmYSBmYS10aCc+PC9pPiA8c3BhbiBjbGFzcz0iY2FyZXQiPjwvc3Bhbj48L2E+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiIHJvbGU9Im1lbnUiPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtZ2xvYmUgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBIb21lcGFnZTwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1yc3MgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBCbG9nPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRpdmlkZXIiPjwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL21kcy5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1kYXRhYmFzZSBmYS1mdyc+PC9pPgogICAgICAgICAgICAgICAgICAgIE1EUzwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLmRhdGFjaXRlLm9yZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWZpbGUtY29kZS1vIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgU2NoZW1hPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2NpdGF0aW9uLmNyb3NzY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1maWxlLXRleHQtbyBmYS1mdyc+PC9pPgogICAgICAgICAgICAgICAgICAgIENpdGF0aW9uIEZvcm1hdHRlcjwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkaXZpZGVyIj48L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zZWFyY2guZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtc2VhcmNoIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgU2VhcmNoPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9vYWkuZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtdGFibGUgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBPQUktUE1IPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zdGF0cy5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1iYXItY2hhcnQgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBTdGF0aXN0aWNzPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9hcGkuZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtY29ncyBmYS1mdyc+PC9pPgogICAgICAgICAgICAgICAgICAgIFJFU1QgQVBJPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5yZTNkYXRhLm9yZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWN1YmVzIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgcmUzZGF0YTwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkaXZpZGVyIj48L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3N0YXR1cy5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1jYWxlbmRhci1jaGVjay1vIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgU3RhdHVzPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9oZWFkZXI+CiAgICAgIDxkaXYgY2xhc3M9IndyYXBwZXIiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiBzZWN0aW9uLXdoaXRlIj4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgcm93LXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTggY29sLW1kLW9mZnNldC0yIHBvc3QtY29udGVudCI+CiAgICAgICAgICAgIDxhIG5hbWU9InRvcG9mcGFnZSI+PC9hPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3N0LW1ldGEiPgogICAgICAgICAgICAgIDxoMT5FYXRpbmcgeW91ciBvd24gRG9nIEZvb2Q8L2gxPgogICAgICAgICAgICAgIERlY2VtYmVyIDIwLCAyMDE2IGJ5IE1hcnRpbiBGZW5uZXIKICAgICAgICAgICAgICDigKIgPHNwYW4gY2xhc3M9InBvc3QtcmVhZGluZy10aW1lIj48L3NwYW4+IHJlYWQKICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJkb2kiPjxhIGhyZWY9Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzRrM20tbnl2ZyIgZGF0YS1wcm9vZmVyLWlnbm9yZT0idHJ1ZSI+aHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNGszbS1ueXZnPC9hPjwvcD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8cD48YSBocmVmPSJodHRwczovL25ld3JlcHVibGljLmNvbS9hcnRpY2xlLzExNTM0OS9kb2dmb29kaW5nLXRlY2gtc2xhbmctd29ya2luZy1vdXQtZ2xpdGNoZXMiPkVhdGluZyB5b3VyIG93biBkb2cgZm9vZDwvYT4gaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yIHRoZSBzY2hvbGFybHkgb3V0cHV0cyB3ZSBwcm9kdWNlLiBGb3IgdGhlIG1vc3QgcGFydCB0aGlzIGlzIG5vdCByZXNlYXJjaCBkYXRhLCBidXQgcmF0aGVyIHRlY2huaWNhbCBkb2N1bWVudHMgc3VjaCBhcyB0aGUgRGF0YUNpdGUgU2NoZW1hIGFuZCBpdHMgZG9jdW1lbnRhdGlvbiA8c3BhbiBjbGFzcz0iY2l0YXRpb24iPig8YSBocmVmPSIjcmVmLWh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIiPjIwMTY8L2E+KTwvc3Bhbj4uPC9wPgo8cD5UaGVzZSBvdXRwdXRzIGFsc28gaW5jbHVkZSB0aGUgcG9zdHMgb24gdGhpcyBibG9nLCB3aGVyZSB3ZSBkaXNjdXNzIHRvcGljcyByZWxldmFudCBmb3IgdGhlIERhdGFDaXRlIGNvbW11bml0eSwgYnV0IGFsc28gb2YgYnJvYWRlciBpbnRlcmVzdCB0byBhbnlvbmUgd2hvIGNhcmVzIGFib3V0IHJlc2VhcmNoIGRhdGEsIHBlcnNpc3RlbnQgaWRlbnRpZmllcnMsIGFuZCBzY2hvbGFybHkgaW5mcmFzdHJ1Y3R1cmUuIEFuZCBzdGFydGluZyB0b2RheSBhbGwgYmxvZyBwb3N0cyBvbiB0aGlzIGJsb2cgd2lsbCBoYXZlIGEgRE9JLCBtZXRhZGF0YSBhbmQgdXNlIGEgcGVyc2lzdGVudCBzdG9yYWdlIG1lY2hhbmlzbS48L3A+CjxkaXYgY2xhc3M9ImZpZ3VyZSI+CjxpbWcgc3JjPSIvaW1hZ2VzLzIwMTYvMTIvMjMwNzg1LmpwZyIgYWx0PSJQaG90byBieSBCaWxsIEVtcmljaC4gQ0MgWmVyby4iIC8+CjxwIGNsYXNzPSJjYXB0aW9uIj5QaG90byBieSA8YSBocmVmPSJodHRwczovL3d3dy5wZXhlbHMuY29tL3Bob3RvL2JsYWNrLWFuZC10YW4teW9ya3NoaXJlLXRlcnJpZXItcHVwcHktMjMwNzg1LyI+QmlsbCBFbXJpY2g8L2E+LiA8YSBocmVmPSJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLyI+Q0MgWmVybzwvYT4uPC9wPgo8L2Rpdj4KPGgzIGlkPSJ0ZWNobmljYWwtaW1wbGVtZW50YXRpb24iPlRlY2huaWNhbCBJbXBsZW1lbnRhdGlvbjwvaDM+CjxwPlRoaXMgYmxvZyBpcyBwb3dlcmVkIGJ5IHRoZSBzdGF0aWMgc2l0ZSBnZW5lcmF0b3IgPGEgaHJlZj0iaHR0cHM6Ly9taWRkbGVtYW5hcHAuY29tLyI+TWlkZGxlbWFuPC9hPiwgd2l0aCBibG9nIHBvc3RzIHdyaXR0ZW4gaW4gPGEgaHJlZj0iaHR0cDovL2NvbW1vbm1hcmsub3JnLyI+TWFya2Rvd248L2E+IGFuZCBjb252ZXJ0ZWQgdG8gSFRNTCB1c2luZyA8YSBocmVmPSJodHRwOi8vcGFuZG9jLm9yZy8iPlBhbmRvYzwvYT4gYW5kIHRoZSA8YSBocmVmPSJodHRwczovL3RyYXZpcy1jaS5vcmciPlRyYXZpcyBDSTwvYT4gY29udGludW91cyBpbnRlZ3JhdGlvbiBzZXJ2aWNlLiBTdGF0aWMgc2l0ZSBnZW5lcmF0b3IgbWVhbnMgdGhhdCB0aGVyZSBpcyBubyBkYXRhYmFzZSBvciBhcHBsaWNhdGlvbiBzZXJ2ZXIgcG93ZXJpbmcgdGhlIHNpdGUsIG1ha2luZyB3ZWJzaXRlIGFkbWluc3RyYXRpb24gc2ltcGxlciwgY2hlYXBlciBhbmQgc2FmZXIuIEluIGFkZGl0aW9uIHRvIHRoZSBibG9nLCB0aGUgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnIj5EYXRhQ2l0ZSBob21lcGFnZTwvYT4gYW5kIDxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLmRhdGFjaXRlLm9yZyI+TWV0YWRhdGEgU2NoZW1hIHN1YnNpdGU8L2E+IGFyZSBhbHNvIGdlbmVyYXRlZCB1c2luZyBNaWRkbGVtYW4uPC9wPgo8cD5UaGUgc2ltcGxpY2l0eSBpcyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IGhlcmUsIGFzIHJlZ2lzdGVyaW5nIHRoZSBET0lzIGFuZCBtZXRhZGF0YSBjYW4gYmUgYWNjb21wbGlzaGVkIHVzaW5nIGEgY29tbWFuZCBsaW5lIHV0aWxpdHkgd3JpdHRlbiBieSBEYXRhQ2l0ZSBzdGFmZiB0aGF0IGRvZXNuJ3QgbmVlZCB0byBrbm93IG11Y2ggYWJvdXQgdGhlIGludGVybmFscyBvZiBNaWRkbGVtYW4sIGFuZCB0aHVzIGNhbiBiZSBlYXNpbHkgYWRhcHRlZCB0byBvdGhlciBzdGF0aWMgc2l0ZSBnZW5lcmF0b3JzIHN1Y2ggYXMgPGEgaHJlZj0iaHR0cDovL2pla3lsbHJiLmNvbS8iPkpla3lsbDwvYT4sIDxhIGhyZWY9Imh0dHA6Ly9nb2h1Z28uaW8vIj5IdWdvPC9hPiBvciA8YSBocmVmPSJodHRwczovL2hleG8uaW8vIj5IZXhvPC9hPi4gVGhlIGNvbW1hbmQgbGluZSB1dGlsaXR5IGlzIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9kYXRhY2l0ZS9jaXJuZWNvIj5DaXJuZWNvPC9hPiwgZ2VuZXJhdGluZyB0aGUgbWV0YWRhdGEgWE1MIGFjY29yZGluZyB0byB0aGUgRGF0YUNpdGUgTWV0YWRhdGEgU2NoZW1hLCBhbmQgcmVnaXN0ZXJpbmcgRE9JIGFuZCBtZXRhZGF0YSB3aXRoIHRoZSBEYXRhQ2l0ZSBNRFMuIExpa2UgYWxsIHRvb2xzIG1lbnRpb25lZCBpbiB0aGlzIHBvc3QgQ2lybmVjbyBpcyBvcGVuIHNvdXJjZSBzb2Z0d2FyZSwgcGxlYXNlIHJlYWNoIG91dCB0byB1cyBpZiB5b3UgYXJlIGludGVyZXN0ZWQgaW4gaW1wbGVtZW50aW5nIHNpbWlsYXIgZnVuY3Rpb25hbGl0eSBmb3IgeW91ciBibG9nLjwvcD4KPGgzIGlkPSJnZW5lcmF0aW5nLWRvaXMiPkdlbmVyYXRpbmcgRE9JczwvaDM+CjxwPlRoZSBET0lzIGZvciB0aGlzIGJsb2cgYXJlIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5LCB1c2luZyBhIG1vZGlmaWVkIGJhc2UzMiBlbmNvZGluZyBhbGdvcml0aG0gdGhhdCBpcyBwcm92aWRlZCBieSBDaXJuZWNvLCBhcyBkaXNjdXNzZWQgbGFzdCB3ZWVrIDxzcGFuIGNsYXNzPSJjaXRhdGlvbiI+KEZlbm5lciwgPGEgaHJlZj0iI3JlZi1odHRwczovL2RvaS5vcmcvMTAuNTQzOC81NUU1LVQ1QzAiPjIwMTY8L2E+KTwvc3Bhbj4uIFRoZSBET0kgaXMgZ2VuZXJhdGVkIGFuZCBtaW50ZWQgd2hlbiBhIG5ldyBwb3N0IGlzIHB1c2hlZCB0byA8YSBocmVmPSJodHRwczovL2Jsb2cuZGF0YWNpdGUub3JnIiBjbGFzcz0idXJpIj5odHRwczovL2Jsb2cuZGF0YWNpdGUub3JnPC9hPi4gVGhpcyBhdm9pZHMgdHdvIHByb2JsZW1zOiBhKSBET0ktbGlrZSBzdHJpbmdzIGluIHRoZSB3aWxkIGJlZm9yZSBwdWJsaWNhdGlvbiBhbmQgYikgdGhlIHJhbmRvbWx5IGdlbmVyYXRlZCBET0kgZXhpc3RzIGFscmVhZHkgKHdlIGNhbiBzaW1wbHkgZ2VuZXJhdGUgYSBuZXcgb25lKS4gQWxsIERPSXMgYXJlIHNob3J0LCB3aXRob3V0IHNlbWFudGljIGluZm9tYXRpb24gdGhhdCBtaWdodCBjaGFuZ2Ugb3ZlciB0aW1lLCBhbmQgd2l0aCBhIGNoZWNrc3VtIHRvIG1pbmltaXplIHRyYW5zY3JpcHRpb24gZXJyb3JzLCBmb3IgZXhhbXBsZSA8c3Ryb25nPmh0dHBzOi8vZG9pLm9yZy8xMC41NDM4L1hDQkotRzdaWTwvc3Ryb25nPi4gR29pbmcgZm9yd2FyZCB3ZSBlbmNvdXJhZ2UgdXNlcnMgdG8gbGluayB0byB0aGUgRGF0YUNpdGUgQmxvZyB1c2luZyB0aGUgRE9JLCBhcyB0aGVzZSBsaW5rcyB3aWxsIGNvbnRpbnVlIHRvIHdvcmsgZXZlbiBpZiB3ZSBldmVyIG1vdmUgdGhlIGJsb2cgdG8gYSBkaWZmZXJlbnQgbG9jYXRpb24uPC9wPgo8aDMgaWQ9ImdlbmVyYXRpbmctbWV0YWRhdGEiPkdlbmVyYXRpbmcgTWV0YWRhdGE8L2gzPgo8cD5Gb3IgdGhlIGdlbmVyYXRpb24gb2YgbWV0YWRhdGEsIHdlIG5lZWQgdG8gc3RyaWtlIGEgYmFsYW5jZSBiZXR3ZWVuIHNpbXBsZSBhdXRob3IgcHJvdmlkZWQgbWV0YWRhdGEsIGJ1dCByaWNoIGVub3VnaCB0byBhaWQgZGlzY292ZXJ5LiBXZSBhcmUgZG9pbmcgdGhpcyB2aWEgdGhyZWUgbWVjaGFuaXNtczo8L3A+Cjx1bD4KPGxpPm1ldGFkYXRhIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3I8L2xpPgo8bGk+ZGVmYXVsdCBtZXRhZGF0YSBmb3IgdGhlIGJsb2c8L2xpPgo8bGk+bWV0YWRhdGEgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgZnJvbSBjb250ZW50PC9saT4KPC91bD4KPHA+VGhlIG1ldGFkYXRhIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3IgYXJlIHRoZSB0eXBpY2FsIG1ldGFkYXRhIGZvciBibG9nIHBvc3RzLCBwcm92aWRlZCB2aWEgPGEgaHJlZj0iaHR0cHM6Ly9nb2h1Z28uaW8vY29udGVudC9mcm9udC1tYXR0ZXIvIj5ZQU1MIGZyb250IG1hdHRlcjwvYT4gYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIHBvc3Q6PC9wPgo8ZGl2IGNsYXNzPSJzb3VyY2VDb2RlIj48cHJlIGNsYXNzPSJzb3VyY2VDb2RlIHlhbWwiPjxjb2RlIGNsYXNzPSJzb3VyY2VDb2RlIHlhbWwiPjxzcGFuIGNsYXNzPSJvdCI+LS0tPC9zcGFuPgo8c3BhbiBjbGFzcz0iZnUiPmxheW91dDo8L3NwYW4+PHNwYW4gY2xhc3M9ImF0Ij4gcG9zdDwvc3Bhbj4KPHNwYW4gY2xhc3M9ImZ1Ij50aXRsZTo8L3NwYW4+PHNwYW4gY2xhc3M9ImF0Ij4gRWF0aW5nIHlvdXIgb3duIERvZyBGb29kPC9zcGFuPgo8c3BhbiBjbGFzcz0iZnUiPmF1dGhvcjo8L3NwYW4+PHNwYW4gY2xhc3M9ImF0Ij4gbWZlbm5lcjwvc3Bhbj4KPHNwYW4gY2xhc3M9ImZ1Ij5kYXRlOjwvc3Bhbj48c3BhbiBjbGFzcz0iYXQiPiAyMDE2LTEyLTE5PC9zcGFuPgo8c3BhbiBjbGFzcz0iZnUiPnRhZ3M6PC9zcGFuPgo8c3BhbiBjbGFzcz0ia3ciPi08L3NwYW4+IGRhdGFjaXRlCjxzcGFuIGNsYXNzPSJrdyI+LTwvc3Bhbj4gZG9pCjxzcGFuIGNsYXNzPSJrdyI+LTwvc3Bhbj4gbWV0YWRhdGEKPHNwYW4gY2xhc3M9Im90Ij4tLS08L3NwYW4+PC9jb2RlPjwvcHJlPjwvZGl2Pgo8cD5XZSBjYW4gcmV1c2UgYWxsIHRoZXNlIG1ldGFkYXRhIHdoZW4gZ2VuZXJhdGluZyBEYXRhQ2l0ZSBtZXRhZGF0YSwgdXNpbmcgdGhlIHRhZ3MgYXMgPGNvZGU+c3ViamVjdHM8L2NvZGU+LjwvcD4KPHA+VGhlIGRlZmF1bHQgbWV0YWRhdGEgYXJlIG1ldGFkYXRhIHRoYXQgYWx3YXlzIHN0YXkgdGhlIHNhbWUgZm9yIHRoZSBibG9nLCBzdWNoIGFzIDxjb2RlPnB1Ymxpc2hlcjwvY29kZT4sIDxjb2RlPkhvc3RpbmdJbnN0aXR1dGlvbjwvY29kZT4gYW5kIDxjb2RlPnJpZ2h0czwvY29kZT4uIFdlIGNhbiBzdG9yZSB0aGVtIGluIGEgc2l0ZS13aWRlIGNvbmZpZ3VyYXRpb24gZmlsZS4gV2UgY2FuIGFsc28gYXNzdW1lIHJlYXNvbmFibGUgZGVmYXVsdHMgdGhhdCBjYW4gYmUgb3ZlcnJpZGRlbiBpbiB0aGUgWUFNTCBmcm9udCBtYXR0ZXIsIGUuZy4gPGNvZGU+cmVzb3VyY2VUeXBlPC9jb2RlPiAod2UgdXNlIDxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLm9yZy9CbG9nUG9zdGluZyI+QmxvZ1Bvc3Rpbmc8L2E+IHdpdGggPGNvZGU+cmVzb3VyY2VUeXBlR2VuZXJhbDwvY29kZT4gVGV4dCkgYW5kIDxjb2RlPnZlcnNpb248L2NvZGU+LiBXZSBzdG9yZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGF1dGhvcnMgb3V0c2lkZSB0aGUgYmxvZyBwb3N0LCBpbmNsdWRpbmcgPGNvZGU+Z2l2ZW5OYW1lPC9jb2RlPiwgPGNvZGU+ZmFtaWx5TmFtZTwvY29kZT4gYW5kIDxjb2RlPm5hbWVJZGVudGlmaWVyPC9jb2RlPiAod2Ugbm93IHNob3cgdGhlIE9SQ0lEIElEIG9mIGV2ZXJ5IGJsb2cgYXV0aG9yIGF0IHRoZSBib3R0b20gb2YgdGhlIHBvc3QpLjwvcD4KPHA+RmluYWxseSwgdGhlcmUgYXJlIG1ldGFkYXRhIHRoYXQgd2UgY2FuIGF1dG9tYXRpY2FsbHkgZXh0cmFjdCBmcm9tIHRoZSBibG9nIHBvc3QsIGFuZCB3ZSBhcmUgY3VycmVudGx5IGRvaW5nIHRoaXMgZm9yIHRoZSA8Y29kZT5kZXNjcmlwdGlvbjwvY29kZT4gYW5kIDxjb2RlPnJlbGF0ZWRJZGVudGlmaWVyPC9jb2RlPi4gVGhpcyBibG9nIHVzZXMgUGFuZG9jIGFuZCBCaWJUZXggdG8gZ2VuZXJhdGUgdGhlIHJlZmVyZW5jZXMgc2VjdGlvbiBhdCB0aGUgZW5kLCBhbmQgd2UgY2FuIGZldGNoIHRoaXMgaW5mb3JtYXRpb24gYW5kIGNvbnZlcnQgaXQgaW50byB0aGUgZm9ybWF0IG5lZWRlZCBmb3IgPGNvZGU+cmVsYXRlZElkZW50aWZpZXI8L2NvZGU+LjwvcD4KPHA+VGFrZW4gdG9nZXRoZXIgd2UgY2FuIHByb3ZpZGUgYWxsIG1ldGFkYXRhIHRoYXQgYXJlIDxlbT5yZXF1aXJlZDwvZW0+IG9yIDxlbT5yZWNvbW1lbmRlZDwvZW0+IGluIHRoZSBNZXRhZGF0YSBTY2hlbWEgZG9jdW1lbnRhdGlvbiA8c3BhbiBjbGFzcz0iY2l0YXRpb24iPig8YSBocmVmPSIjcmVmLWh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIiPjIwMTY8L2E+KTwvc3Bhbj4sIGFuZCB3ZSBjYW4gZG8gdGhpcyB3aXRob3V0IGFueSBleHRyYSBlZmZvcnQgZm9yIHRoZSBhdXRob3IuIFRoZSBmdWxsIFhNTCBpcyBhdmFsYWlsYWJsZSA8YSBocmVmPSJodHRwczovL2RhdGEuY3Jvc3NjaXRlLm9yZy9hcHBsaWNhdGlvbi92bmQuZGF0YWNpdGUuZGF0YWNpdGUreG1sLzEwLjU0MzgvNEszTS1OWVZHIj5oZXJlPC9hPi48L3A+CjxwPk5vdCBhbGwgYmxvZyBwb3N0cyBuZWVkIHRvIGJlIGNpdGVkIGZvcm1hbGx5IHdpdGggbWV0YWRhdGEgaW4gYSA8ZW0+cmVmZXJlbmNlczwvZW0+IGxpc3QgZm9ybWF0dGVkIGFjY29yZGluZyB0byBhIHNwZWNpZmljIGNpdGF0aW9uIHN0eWxlLiBCdXQgdGhlc2UgbWV0YWRhdGEgZ3JlYXRseSBoZWxwIHdpdGggZGlzY292ZXJ5LCBhIHNlYXJjaCBpbiBEYXRhQ2l0ZSBTZWFyY2ggZm9yIDxhIGhyZWY9Imh0dHA6Ly9zZWFyY2guZGF0YWNpdGUub3JnL3dvcmtzP3F1ZXJ5PWVhdGluZytkb2crZm9vZCI+ZWF0aW5nIGRvZyBmb29kPC9hPiB3aWxsIGZvciBleGFtcGxlIGJyaW5nIHVwIHRoaXMgYmxvZyBwb3N0IGFzIHRoZSBmaXJzdCBoaXQuPC9wPgo8aDMgaWQ9InBlcnNpc3RlbnQtc3RvcmFnZSI+UGVyc2lzdGVudCBzdG9yYWdlPC9oMz4KPHA+VXNpbmcgRE9JcyBtZWFucyB0aGF0IHJlYWRlcnMgbm90IG9ubHkgZXhwZWN0IHJpY2ggbWV0YWRhdGEgdGhhdCBoZWxwIHdpdGggY2l0YXRpb24gYW5kIGRpc2NvdmVyeSwgYnV0IGFsc28gdGhhdCBEYXRhQ2l0ZSB0YWtlcyBleHRyYSBjYXJlIHRvIHByZXNlcnZlIHRoZSBibG9nIHBvc3RzLCB0aGlua2luZyBiZXlvbmQgdGhlIHBhcnRpY3VsYXIgdGVjaG5pY2FsIGltcGxlbWVudGF0aW9uIG9yIGV2ZW4gdGhlIGNvbnRpdWluZyBleGlzdGVuY2Ugb2YgdGhpcyBibG9nLiBUaGlzIGlzIGFuIGFyZWEgd2hlcmUgd2UgZG8gbmVlZCB0byBkbyBtb3JlIHdvcmssIHN0YXJ0aW5nIHdpdGggYSBkZWNpc2lvbiBhYm91dCB0aGUgYmVzdCBhcmNoaXZhbCBmb3JtYXQgZm9yIGEgYmxvZyBwb3N0IChIVE1MLCBQREYsIDxhIGhyZWY9Imh0dHBzOi8vamF0cy5ubG0ubmloLmdvdi8iPkpBVFM8L2E+PykuIEZvciBub3cgYmxvZyBwb3N0cyBhcmUgaG9zdGVkIGluIG11bHRpcGxlIEdpdCByZXBvc2l0b3JpZXMgKDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9kYXRhY2l0ZS9ibG9nIj5vbmUgb2YgdGhlbSBvbiBHaXRodWI8L2E+KSwgYW5kIGluIHR3byBpbmRlcGVuZGVudCBBbWF6b24gUzMgYnVja2V0cyB0aGF0IGVhY2ggdXNlIDxhIGhyZWY9Imh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9kZXYvVmVyc2lvbmluZy5odG1sIj52ZXJzaW9uaW5nPC9hPi4gTXVsdGlwbGUgbG9jYXRpb25zIHdpdGggdmVyc2lvbmluZyBhcmUgYSBnb29kIHN0YXJ0LCBidXQgbW9yZSB3b3JrIGlzIGNsZWFybHkgbmVlZGVkLjwvcD4KPGgyIGlkPSJyZWZlcmVuY2VzIiBjbGFzcz0idW5udW1iZXJlZCI+UmVmZXJlbmNlczwvaDI+CjxkaXYgaWQ9InJlZnMiIGNsYXNzPSJyZWZlcmVuY2VzIj4KPGRpdiBpZD0icmVmLWh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIiPgo8cD5EYXRhQ2l0ZSBNZXRhZGF0YSBXb3JraW5nIEdyb3VwLiAoMjAxNikuIERhdGFDaXRlIG1ldGFkYXRhIHNjaGVtYSBmb3IgdGhlIHB1YmxpY2F0aW9uIGFuZCBjaXRhdGlvbiBvZiByZXNlYXJjaCBkYXRhIHY0LjAuIDxlbT5EYXRhQ2l0ZTwvZW0+LiA8YSBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDEyIiBjbGFzcz0idXJpIj5odHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDEyPC9hPjwvcD4KPC9kaXY+CjxkaXYgaWQ9InJlZi1odHRwczovL2RvaS5vcmcvMTAuNTQzOC81NUU1LVQ1QzAiPgo8cD5GZW5uZXIsIE0uICgyMDE2KS4gQ29vbCBkb2nigJlzLiA8ZW0+RGF0YUNpdGU8L2VtPi4gPGEgaHJlZj0iaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNTVFNS1UNUMwIiBjbGFzcz0idXJpIj5odHRwczovL2RvaS5vcmcvMTAuNTQzOC81NUU1LVQ1QzA8L2E+PC9wPgo8L2Rpdj4KPC9kaXY+CgogICAgICAgICAgICA8aHIgd2lkdGg9IjgwJSI+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTUgY29sLW1kLW9mZnNldC0yIHBvc3QtY29udGVudCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbS10ZWFzZXIgY2YiPgogIDxkaXYgY2xhc3M9ImlzTGVmdCI+CiAgICA8c2VjdGlvbiBjbGFzcz0iYXV0aG9yIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImF1dGhvci1pbWFnZSIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwczovL3d3dy5ncmF2YXRhci5jb20vYXZhdGFyLzQzNDU5MmEwOTdlOTEyNjE3OTJlYmQ2YjQ5MjA0MmJjP3M9MjUwJmQ9bW0mcj14KSI+QmxvZyBMb2dvPC9kaXY+CiAgICAgICAgPGg0Pk1hcnRpbiBGZW5uZXI8L2g0PgogICAgICAgIDxwIGNsYXNzPSJiaW8iPkRhdGFDaXRlIFRlY2huaWNhbCBEaXJlY3RvcjwvcD4KICAgICAgICA8cCBjbGFzcz0ib3JjaWQiPjxhIGhyZWY9Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDUiPmh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDU8L2E+PC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4Ij48L2Rpdj4KICAgICAgPGg0PkVhdGluZyB5b3VyIG93biBEb2cgRm9vZDwvaDQ+CiAgICAgICAgPHAgY2xhc3M9InB1Ymxpc2hlZCI+PGEgaHJlZj0iaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNGszbS1ueXZnIiBkYXRhLXByb29mZXItaWdub3JlPSJ0cnVlIj5odHRwczovL2RvaS5vcmcvMTAuNTQzOC80azNtLW55dmc8L2E+CiAgICAgIDxwIGNsYXNzPSJwdWJsaXNoZWQiPjxpIGNsYXNzPSJmYSBmYS1jYWxlbmRhciI+PC9pPiA8dGltZSBkYXRldGltZT0iMjAxNi0xMi0yMCAwMDowMCI+RGVjZW1iZXIgMjAsIDIwMTY8L3RpbWU+PC9wPgogICAgICA8cCBjbGFzcz0icHVibGlzaGVkIj48aSBjbGFzcz0iZmEgZmEtaGlzdG9yeSI+PC9pPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZGF0YWNpdGUvYmxvZy9jb21taXRzL21hc3Rlci9zb3VyY2UvcG9zdHMvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLmh0bWwubWQiPkhpc3Rvcnk8L2E+PC9wPgogICAgICA8cCBjbGFzcz0icHVibGlzaGVkIj7CqSAyMDE2IE1hcnRpbiBGZW5uZXIuIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzQuMC9sZWdhbGNvZGUiPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24gbGljZW5zZTwvYT4uPC9wPgogICAgICA8cCBjbGFzcz0icHVibGlzaGVkIj4KICAgICAgICA8aSBjbGFzcz0iZmEgZmEtdGFncyI+PC9pPgogICAgICAgIDxhIGhyZWY9Ii9pbmRleC5odG1sP3RhZz1kYXRhY2l0ZSI+ZGF0YWNpdGU8L2E+LCA8YSBocmVmPSIvaW5kZXguaHRtbD90YWc9ZG9pIj5kb2k8L2E+LCA8YSBocmVmPSIvaW5kZXguaHRtbD90YWc9bWV0YWRhdGEiPm1ldGFkYXRhPC9hPiwgPGEgaHJlZj0iL2luZGV4Lmh0bWw/dGFnPWZlYXR1cmVkIj5mZWF0dXJlZDwvYT4KICAgICAgPC9wPgogICAgPC9zZWN0aW9uPgogIDwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIGNvbC1tZC1vZmZzZXQtMSI+CiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3R0b20tdGVhc2VyIGNmIj4KICA8ZGl2IGNsYXNzPSJpc0xlZnQiPgogICAgPGg1IGNsYXNzPSJpbmRleC1oZWFkbGluZSBmZWF0dXJlZCI+PHNwYW4+U2hhcmUgb248L3NwYW4+PC9oNT4KICAgICAgPGEgY2xhc3M9Imljb24tdHdpdHRlciIgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL3NoYXJlP3RleHQ9T24gdGhlIEBkYXRhY2l0ZSBibG9nOiBFYXRpbmcgeW91ciBvd24gRG9nIEZvb2QmYW1wO3VybD1odHRwczovL2Jsb2cuZGF0YWNpdGUub3JnL2VhdGluZy15b3VyLW93bi1kb2ctZm9vZC8iCiAgICAgICAgb25jbGljaz0id2luZG93Lm9wZW4odGhpcy5ocmVmLCAndHdpdHRlci1zaGFyZScsICd3aWR0aD01NTAsaGVpZ2h0PTI1NScpO3JldHVybiBmYWxzZTsiPgogICAgICAgIDxpIGNsYXNzPSJmYSBmYS10d2l0dGVyIGZhLTJ4Ij48L2k+PHNwYW4gY2xhc3M9ImhpZGRlbiI+dHdpdHRlcjwvc3Bhbj4KICAgICAgPC9hPgogICAgICA8YSBjbGFzcz0iaWNvbi1mYWNlYm9vayIgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci5waHA/dD1PbiB0aGUgQGRhdGFjaXRlIGJsb2c6IEVhdGluZyB5b3VyIG93biBEb2cgRm9vZCZhbXA7dT1odHRwczovL2Jsb2cuZGF0YWNpdGUub3JnL2VhdGluZy15b3VyLW93bi1kb2ctZm9vZC8iCiAgICAgICAgb25jbGljaz0id2luZG93Lm9wZW4odGhpcy5ocmVmLCAnZmFjZWJvb2stc2hhcmUnLCAnd2lkdGg9NTUwLGhlaWdodD0yNTUnKTtyZXR1cm4gZmFsc2U7Ij4KICAgICAgICA8aSBjbGFzcz0iZmEgZmEtZmFjZWJvb2sgZmEtMngiPjwvaT48c3BhbiBjbGFzcz0iaGlkZGVuIj5mYWNlYm9vazwvc3Bhbj4KICAgICAgPC9hPgogIDwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04IGNvbC1tZC1vZmZzZXQtMiBwb3N0LWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgaWQ9ImRpc3F1c190aHJlYWQiPjwvZGl2Pgo8c2NyaXB0PgogICAgdmFyIGRpc3F1c19jb25maWcgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdGhpcy5wYWdlLnVybCA9ICdodHRwczovL2Jsb2cuZGF0YWNpdGUub3JnL2VhdGluZy15b3VyLW93bi1kb2ctZm9vZC8nOwogICAgICAgIHRoaXMucGFnZS5pZGVudGlmaWVyID0gJ2h0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLyc7CiAgICB9OwogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkID0gZG9jdW1lbnQsIHMgPSBkLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwoKICAgICAgICBzLnNyYyA9ICcvL2RhdGFjaXRlLmRpc3F1cy5jb20vZW1iZWQuanMnOyAgLy8KCiAgICAgICAgcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtdGltZXN0YW1wJywgK25ldyBEYXRlKCkpOwogICAgICAgIChkLmhlYWQgfHwgZC5ib2R5KS5hcHBlbmRDaGlsZChzKTsKICAgIH0pKCk7Cjwvc2NyaXB0Pgo8bm9zY3JpcHQ+UGxlYXNlIGVuYWJsZSBKYXZhU2NyaXB0IHRvIHZpZXcgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZGlzcXVzLmNvbS8/cmVmX25vc2NyaXB0IiByZWw9Im5vZm9sbG93Ij5jb21tZW50cyBwb3dlcmVkIGJ5IERpc3F1cy48L2E+PC9ub3NjcmlwdD4KCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CiAgICA8Zm9vdGVyIGNsYXNzPSdyb3cgZm9vdGVyJz4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbWQtMyBjb2wtc20tNCc+CiAgICAgICAgICA8aDQ+QWJvdXQgRGF0YUNpdGU8L2g0PgogICAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL21pc3Npb24uaHRtbCI+V2hhdCB3ZSBkbzwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2dvdmVybmFuY2UuaHRtbCI+R292ZXJuYW5jZTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3N0ZWVyaW5nLmh0bWwiPlN0ZWVyaW5nIGdyb3VwczwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3N0YWZmLmh0bWwiPlN0YWZmPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvam9ib3Bwb3J0dW5pdGllcy5odG1sIj5Kb2Igb3Bwb3J0dW5pdGllczwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbWQtMyBjb2wtc20tNCc+CiAgICAgICAgICA8aDQ+U2VydmljZXM8L2g0PgogICAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2RvaXMuaHRtbCI+QXNzaWduIERPSXM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9zZWFyY2guaHRtbCI+TWV0YWRhdGEgc2VhcmNoPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvZXZlbnRkYXRhLmh0bWwiPkV2ZW50IGRhdGE8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9wcm9maWxlcy5odG1sIj5Qcm9maWxlczwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3JlM2RhdGEuaHRtbCI+cmUzZGF0YTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2NpdGF0aW9uLmh0bWwiPkNpdGF0aW9uIGZvcm1hdHRlcjwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3N0YXRzLmh0bWwiPlN0YXRpc3RpY3M8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9jb250ZW50Lmh0bWwiPkNvbnRlbnQgbmVnb3RpYXRpb248L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9vYWlwbWguaHRtbCI+T0FJLVBNSDwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbWQtMyBjb2wtc20tNCc+CiAgICAgICAgICA8aDQ+UmVzb3VyY2VzPC9oND4KICAgICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLmRhdGFjaXRlLm9yZyI+TWV0YWRhdGEgc2NoZW1hPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3N1cHBvcnQuZGF0YWNpdGUub3JnIj5TdXBwb3J0PC9hPjwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgICAgPGg0PkNvbW11bml0eTwvaDQ+CiAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvbWVtYmVycy5odG1sIj5NZW1iZXJzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvcGFydG5lcnMuaHRtbCI+UGFydG5lcnM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9zdGVlcmluZy5odG1sIj5TdGVlcmluZyBncm91cHM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9ldmVudHMuaHRtbCI+RXZlbnRzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvcm9hZG1hcC5odG1sIj5Sb2FkbWFwPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvdXNlci1zdG9yaWVzLmh0bWwiPlVzZXIgU3RvcmllczwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbWQtMyc+CiAgICAgICAgICA8aDQgY2xhc3M9InNoYXJlIj5Db250YWN0IHVzPC9oND4KICAgICAgICAgIDxhIGhyZWY9J21haWx0bzpzdXBwb3J0QGRhdGFjaXRlLm9yZycgY2xhc3M9InNoYXJlIj4KICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWF0Jz48L2k+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8YSBocmVmPSdodHRwczovL2Jsb2cuZGF0YWNpdGUub3JnL2ZlZWQueG1sJyBjbGFzcz0ic2hhcmUiPgogICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtcnNzJz48L2k+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8YSBocmVmPSdodHRwczovL3R3aXR0ZXIuY29tL2RhdGFjaXRlJyBjbGFzcz0ic2hhcmUiPgogICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtdHdpdHRlcic+PC9pPgogICAgICAgICAgPC9hPgogICAgICAgICAgPGEgaHJlZj0naHR0cHM6Ly9naXRodWIuY29tL2RhdGFjaXRlL2RhdGFjaXRlJyBjbGFzcz0ic2hhcmUiPgogICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtZ2l0aHViJz48L2k+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8YSBocmVmPSdodHRwczovL3d3dy5saW5rZWRpbi5jb20vY29tcGFueS9kYXRhY2l0ZScgY2xhc3M9InNoYXJlIj4KICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWxpbmtlZGluJz48L2k+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvdGVybXMuaHRtbCI+VGVybXMgYW5kIGNvbmRpdGlvbnM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9wcml2YWN5Lmh0bWwiPlByaXZhY3kgcG9saWN5PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvYWNrbm93bGVkZ21lbnRzLmh0bWwiPkFja25vd2xlZGdlbWVudHM8L2E+PC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgICA8YSBocmVmPSJodHRwOi8vc3RhdHVzLmRhdGFjaXRlLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItZG90Ij48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1kZXNjcmlwdGlvbiI+PC9zcGFuPgogICAgICAgICAgPC9hPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZm9vdGVyPgogICAgPHNjcmlwdCBzcmM9Ii8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0yLjEuNC5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4zLjYvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL2Nkbi5zdGF0dXNwYWdlLmlvL3NlLXYyLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vYXNzZXRzLmRhdGFjaXRlLm9yZy9qYXZhc2NyaXB0cy9kZWZhdWx0LmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii9qYXZhc2NyaXB0cy9yZWFkaW5nVGltZS5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iL2phdmFzY3JpcHRzL2luZGV4LmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii9qYXZhc2NyaXB0cy9zZWFyY2guanMiPjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJkc3EtY291bnQtc2NyIiBzcmM9Ii8vZGF0YWNpdGUuZGlzcXVzLmNvbS9jb3VudC5qcyIgYXN5bmM+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9maXR2aWRzLzEuMS4wL2pxdWVyeS5maXR2aWRzLm1pbi5qcyI+PC9zY3JpcHQ+ICAgIDxzY3JpcHQ+CiAgICAgIChmdW5jdGlvbihpLHMsbyxnLHIsYSxtKXtpWydHb29nbGVBbmFseXRpY3NPYmplY3QnXT1yO2lbcl09aVtyXXx8ZnVuY3Rpb24oKXsKICAgICAgKGlbcl0ucT1pW3JdLnF8fFtdKS5wdXNoKGFyZ3VtZW50cyl9LGlbcl0ubD0xKm5ldyBEYXRlKCk7YT1zLmNyZWF0ZUVsZW1lbnQobyksCiAgICAgIG09cy5nZXRFbGVtZW50c0J5VGFnTmFtZShvKVswXTthLmFzeW5jPTE7YS5zcmM9ZzttLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsbSkKICAgICAgfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCcvL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS9hbmFseXRpY3MuanMnLCdnYScpOwoKICAgICAgZ2EoJ2NyZWF0ZScsICdVQS0yMjgwNjE5Ni02JywgJ2F1dG8nKTsKICAgICAgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTsKICAgIDwvc2NyaXB0PgogIDwvYm9keT4KPC9odG1sPgo=
105
+ http_version:
106
+ recorded_at: Tue, 25 Feb 2020 09:31:27 GMT
107
+ - request:
108
+ method: get
109
+ uri: http://schema.org/
110
+ body:
111
+ encoding: US-ASCII
112
+ string: ''
113
+ headers:
114
+ Accept:
115
+ - application/ld+json;profile=http://www.w3.org/ns/json-ld#context, application/ld+json;q=0.9,
116
+ text/html;q=0.8, application/xhtml+xml;q=0.8, application/json;q=0.5
117
+ User-Agent:
118
+ - Ruby RDF.rb/3.1.1
119
+ Accept-Encoding:
120
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
121
+ response:
122
+ status:
123
+ code: 301
124
+ message: Moved Permanently
125
+ headers:
126
+ Location:
127
+ - https://schema.org/
128
+ X-Cloud-Trace-Context:
129
+ - 7320bc5c55a4cd73b1021c321f390628
130
+ Date:
131
+ - Tue, 25 Feb 2020 09:31:27 GMT
132
+ Content-Type:
133
+ - text/html
134
+ Server:
135
+ - Google Frontend
136
+ Content-Length:
137
+ - '0'
138
+ body:
139
+ encoding: UTF-8
140
+ string: ''
141
+ http_version:
142
+ recorded_at: Tue, 25 Feb 2020 09:31:27 GMT
143
+ - request:
144
+ method: get
145
+ uri: https://schema.org/
146
+ body:
147
+ encoding: US-ASCII
148
+ string: ''
149
+ headers:
150
+ Accept:
151
+ - application/ld+json;profile=http://www.w3.org/ns/json-ld#context, application/ld+json;q=0.9,
152
+ text/html;q=0.8, application/xhtml+xml;q=0.8, application/json;q=0.5
153
+ User-Agent:
154
+ - Ruby RDF.rb/3.1.1
155
+ Accept-Encoding:
156
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
157
+ response:
158
+ status:
159
+ code: 200
160
+ message: OK
161
+ headers:
162
+ Access-Control-Allow-Origin:
163
+ - "*"
164
+ Content-Type:
165
+ - text/html
166
+ Vary:
167
+ - Accept, Accept-Encoding
168
+ X-Cloud-Trace-Context:
169
+ - 57c808aa12823643e35b94865a41e0b2
170
+ Date:
171
+ - Tue, 25 Feb 2020 09:31:22 GMT
172
+ Server:
173
+ - Google Frontend
174
+ Content-Length:
175
+ - '5083'
176
+ Cache-Control:
177
+ - public, max-age=600
178
+ Age:
179
+ - '5'
180
+ Alt-Svc:
181
+ - quic=":443"; ma=2592000; v="46,43",h3-Q050=":443"; ma=2592000,h3-Q049=":443";
182
+ ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443";
183
+ ma=2592000
184
+ body:
185
+ encoding: UTF-8
186
+ string: "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <!-- Generated from
187
+ headtags.tpl -->\n <meta charset=\"utf-8\" >\n <link rel=\"shortcut
188
+ icon\" type=\"image/png\" href=\"docs/favicon.ico\"/>\n <link rel=\"stylesheet\"
189
+ type=\"text/css\" href=\"docs/schemaorg.css\" />\n <link rel=\"stylesheet\"
190
+ type=\"text/css\" href=\"docs/prettify.css\" />\n <script type=\"text/javascript\"
191
+ src=\"docs/prettify.js\"></script>\n \n <script type=\"text/javascript\"
192
+ src=\"//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js\"></script>\n<!--
193
+ ##### Generated insert [CSEScript-start] see scripts/genhtmlinserts.sh #####
194
+ --> \n<!-- Enable CSE Search -->\n<script>\n(function() {\nvar cx = '013516846811604855281:nj5laplixaa';
195
+ // Insert your own Custom Search engine ID here\nvar gcse = document.createElement('script');
196
+ gcse.type = 'text/javascript'; gcse.async = true;\ngcse.src = 'https://cse.google.com/cse.js?cx='
197
+ + cx;\nvar s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse,
198
+ s);\n})();\n</script>\n<!-- ##### Generated insert [CSEScript-end] see scripts/genhtmlinserts.sh
199
+ ##### --> \n<!-- End headtags.tpl -->\n <title>Home - schema.org</title>\n
200
+ \ <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n
201
+ \ <meta name=\"description\" content=\"Schema.org is a set of extensible
202
+ schemas that enables webmasters to embed\n structured data on their web
203
+ pages for use by search engines and other applications.\" />\n <link rel=\"stylesheet\"
204
+ type=\"text/css\" href=\"/docs/schemaorg.css\">\n</head>\n<body>\n<!-- Header
205
+ start from basicPageHeader.tpl -->\n<div id=\"container\">\n\t<div id=\"intro\">\n\t\t<div
206
+ id=\"pageHeader\">\n\t\t\t<div class=\"wrapper\">\n\t\t\t\t<div id=\"sitename\">\n\t\t\t\t<h1>\n\t\t\t\t\t<a
207
+ href=\"/\">schema.org</a>\n\t\t\t\t</h1>\n\t\t\t\t</div>\n\t\t\t\t<div id=\"cse-search-form\"
208
+ style=\"width: 400px;\"><div class=\"gcse-searchbox-only\" data-resultsUrl=\"docs/search_results.html\"></div></div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n<div
209
+ id=\"selectionbar\">\n\t<div class=\"wrapper\">\n\t\t<ul>\n\t \n\t
210
+ \ <li>\n\t \n\t\t\t\t<a href=\"docs/documents.html\">Documentation</a>\n\t\t\t</li>\n\t
211
+ \ \n\t <li>\n\t \n\t\t\t\t<a href=\"docs/schemas.html\">Schemas</a>\n\t\t\t</li>\n\t\t\t<li>\n\t
212
+ \ \n\t\t\t\t<a href=\"docs/about.html\">About</a>\n\t \n\t\t\t</li>\n\t\t</ul>\n\t</div>\n</div>\n\n<!--
213
+ Header start from topnotes.tpl -->\n\n\n\n\n\n<!-- Header end from topnotes.tpl
214
+ -->\n\n<!-- Header end from basicPageHeader.tpl -->\n\n <div id=\"mainContent\">\n\n\n\n\n\n\n\n\n\n\n
215
+ \ <h1>Welcome to Schema.org</h1>\n\n\n<p>\n Schema.org is a collaborative,
216
+ community activity with a mission to create,\n maintain, and promote schemas
217
+ for structured data on the\n Internet, on web pages, in email messages,
218
+ and beyond.\n</p>\n\n<p>\n Schema.org vocabulary can be used with many
219
+ different encodings,\n including RDFa, Microdata and JSON-LD. These vocabularies
220
+ cover\n entities, relationships between entities and actions, and can\n
221
+ \ easily be extended through a well-documented extension model. Over 10
222
+ million sites use\n Schema.org to markup their web pages and email messages.\n
223
+ \ Many applications from Google, Microsoft, Pinterest, Yandex and others\n
224
+ \ already use these vocabularies to power rich, extensible experiences.\n</p>\n<p>\n
225
+ \ Founded by Google, Microsoft, Yahoo and Yandex,\n Schema.org vocabularies
226
+ are developed by an open <a href=\"https://www.w3.org/community/schemaorg\">community</a>
227
+ process,\n using the <a\n href=\"http://lists.w3.org/Archives/Public/public-schemaorg\">public-schemaorg@w3.org</a>\n
228
+ \ mailing list and through <a href=\"http://github.com/schemaorg/schemaorg\">GitHub</a>.\n</p>\n\n<p>\n
229
+ \ A shared vocabulary makes it easier for webmasters and developers to decide\n
230
+ \ on a schema and get the maximum benefit for their efforts.\n It is in
231
+ this spirit that the founders, together with the\n larger community have
232
+ come together - to provide a shared collection of schemas.\n </p>\n\n<p>\n
233
+ \ We invite you to <a href=\"docs/gs.html\">get started</a>!\n</p>\n<p>\n
234
+ \ View our blog at <a href=\"http://blog.schema.org\">blog.schema.org</a>
235
+ or see <a href=\"/docs/releases.html\">release history</a> for version 6.0.\n</p>\n\n<br/>\n</div>\n\n\n\n\n\n\n<div
236
+ id=\"footer\"><p>\n <a href=\"docs/terms.html\">Terms and conditions</a></p>\n</div>\n\n<script>\n
237
+ \ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n
238
+ \ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n
239
+ \ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n
240
+ \ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');\n\n
241
+ \ ga('create', 'UA-52672119-1', 'auto');\n ga('send', 'pageview');\n\n</script>\n\n\n\n<p><br/></p>\n\n<div
242
+ style=\"display: none;\">\n\n<div style=\"clear: both; float: left; text-align:
243
+ left; font-size: xx-small; color: #888 ; margin: 1em; line-height: 100%;\">\n
244
+ <ul>\n <li>SCHEMA_VERSION: 6.0 </li>\n <li>PYTHONAPP_VERSION: 2.0.1 </li>\n
245
+ \ <li>ENABLE_HOSTED_EXTENSIONS: True </li>\n <li>host_ext: </li>\n <li>myhost:
246
+ None </li>\n <li>myport: 80 </li>\n <li>mybasehost: schema.org </li>\n <li>debugging:
247
+ False </li>\n <li>AppEngine Version: 6-0 </li>\n </ul>\n</div>\n\n</div>\n\n</body>\n</html>"
248
+ http_version:
249
+ recorded_at: Tue, 25 Feb 2020 09:31:27 GMT
250
+ recorded_with: VCR 3.0.3