bolognese 1.8 → 1.8.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4db42ab310128e14958777f979522287564747fcd8888350b05d0c1447f3b322
4
- data.tar.gz: 1595844b30af956ab7c1d778b0c1ee13b8fa7bbfdb44d64c96360d1ab6e55262
3
+ metadata.gz: 2844940808f11b8faa885e34806bea245ab3c8d772bec2877de19a1122e49895
4
+ data.tar.gz: cc6167a8111867f03168c121a11db290671f2bbaf8a3ea2e295faa339b81ed12
5
5
  SHA512:
6
- metadata.gz: c28f7e14d5536470ff45df9d47705fecf70ca29c11ad5e77af7842f38614e664d6bc4b6989c3b5018c3cff64d649ceef1426736d99abb44b5b2f3bf400d04a41
7
- data.tar.gz: 4eb706157bf726ab4c56282f8826b467414a1bb25df6aae29e7a4eab2780573a5c24406d82ed3ebf00c326a1df28cdc8036a8680001bac02e1a2e021e4b0613e
6
+ metadata.gz: fb45a458092cde73a13a28a8208c4c115f0a6386afdb53cf9b25c89ff85de8767c7c0d6a368c056a3f736961e2e5ea9589ec38f212c038b105ceb32e6d435d9c
7
+ data.tar.gz: 43edabbc11bf430fd372c209bade25085e84ba73f4d64a52221cc143756ba374c703b485e1770afdede0939c5a33f40dda0017b0ead213d98704bd00f9cc0316
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (1.8)
4
+ bolognese (1.8.5)
5
5
  activesupport (>= 4.2.5)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (>= 5.1.0)
@@ -58,8 +58,10 @@ GEM
58
58
  csl (~> 1.0)
59
59
  diff-lcs (1.4.4)
60
60
  docile (1.3.2)
61
- ebnf (1.2.0)
61
+ ebnf (2.1.1)
62
+ htmlentities (~> 4.3)
62
63
  rdf (~> 3.1)
64
+ scanf (~> 1.0)
63
65
  sxp (~> 1.1)
64
66
  edtf (3.0.5)
65
67
  activesupport (>= 3.0, < 7.0)
@@ -79,7 +81,7 @@ GEM
79
81
  concurrent-ruby (~> 1.0)
80
82
  hashdiff (1.0.1)
81
83
  htmlentities (4.3.4)
82
- i18n (1.8.3)
84
+ i18n (1.8.5)
83
85
  concurrent-ruby (~> 1.0)
84
86
  iso8601 (0.9.1)
85
87
  json-canonicalization (0.2.0)
@@ -119,7 +121,7 @@ GEM
119
121
  namae (1.0.1)
120
122
  nokogiri (1.10.10)
121
123
  mini_portile2 (~> 2.4.0)
122
- oj (3.10.7)
124
+ oj (3.10.8)
123
125
  oj_mimic_json (1.0.1)
124
126
  optimist (3.0.1)
125
127
  postrank-uri (1.0.24)
@@ -148,8 +150,8 @@ GEM
148
150
  rdf (~> 3.1)
149
151
  rdf-rdfa (~> 3.1)
150
152
  rdf-xsd (~> 3.1)
151
- rdf-turtle (3.1.1)
152
- ebnf (~> 1.2)
153
+ rdf-turtle (3.1.2)
154
+ ebnf (~> 2.0)
153
155
  rdf (~> 3.1, >= 3.1.2)
154
156
  rdf-vocab (3.1.7)
155
157
  rdf (~> 3.1, >= 3.1.2)
@@ -172,6 +174,7 @@ GEM
172
174
  nokogiri (~> 1.6)
173
175
  rspec (~> 3)
174
176
  safe_yaml (1.0.5)
177
+ scanf (1.0.0)
175
178
  simplecov (0.18.5)
176
179
  docile (~> 1.1)
177
180
  simplecov-html (~> 0.11)
@@ -190,7 +193,7 @@ GEM
190
193
  addressable (>= 2.3.6)
191
194
  crack (>= 0.3.2)
192
195
  hashdiff (>= 0.4.0, < 2.0.0)
193
- zeitwerk (2.3.1)
196
+ zeitwerk (2.4.0)
194
197
 
195
198
  PLATFORMS
196
199
  ruby
@@ -11,7 +11,13 @@ module Bolognese
11
11
  end
12
12
 
13
13
  def datacite_errors(xml: nil, schema_version: nil)
14
- schema_version = schema_version.to_s.start_with?("http://datacite.org/schema/kernel") ? schema_version : "http://datacite.org/schema/kernel-4"
14
+ if xml.present?
15
+ namespaces = Nokogiri::XML(xml, nil, 'UTF-8').root.namespaces
16
+ schema_version = namespaces.fetch('xmlns',nil).presence || namespaces.fetch('xmlns:ns0',nil).presence
17
+ else
18
+ schema_version = schema_version.to_s.start_with?("http://datacite.org/schema/kernel") ? schema_version : "http://datacite.org/schema/kernel-4"
19
+ end
20
+
15
21
  kernel = schema_version.to_s.split("/").last
16
22
  filepath = File.expand_path("../../../resources/#{kernel}/metadata.xsd", __FILE__)
17
23
  schema = Nokogiri::XML::Schema(open(filepath))
@@ -153,7 +153,7 @@ module Bolognese
153
153
  "language" => language,
154
154
  "author" => author,
155
155
  "contributor" => to_citeproc(contributors),
156
- "issued" => get_date(dates, "Issued") ? get_date_parts(get_date(dates, "Issued")) : get_date_parts(publication_year),
156
+ "issued" => get_date(dates, "Issued") ? get_date_parts(get_date(dates, "Issued")) : get_date_parts(publication_year.to_s),
157
157
  "submitted" => Array.wrap(dates).find { |d| d["dateType"] == "Submitted" }.to_h.fetch("__content__", nil),
158
158
  "abstract" => parse_attributes(descriptions, content: "description", first: true),
159
159
  "container-title" => container_title,
@@ -31,7 +31,7 @@ module Bolognese
31
31
  end
32
32
 
33
33
  # model should be one of book, conference, database, dissertation, journal, peer_review, posted_content,
34
- # report-paper, sa_component, standard
34
+ # report_paper, sa_component, standard
35
35
  model = meta.dig("crossref").to_h.keys.last
36
36
 
37
37
  resource_type = nil
@@ -41,15 +41,20 @@ module Bolognese
41
41
  journal_issue = {}
42
42
  journal_metadata = nil
43
43
  publisher = query.dig("crm_item", 0)
44
+ publisher = nil unless publisher.is_a?(String)
44
45
 
45
46
  case model
46
47
  when "book"
47
48
  book_metadata = meta.dig("crossref", "book", "book_metadata")
48
49
  book_series_metadata = meta.dig("crossref", "book", "book_series_metadata")
49
50
  book_set_metadata = meta.dig("crossref", "book", "book_set_metadata")
50
- bibliographic_metadata = meta.dig("crossref", "book", "content_item") || book_metadata || book_series_metadata
51
+ bibliographic_metadata = meta.dig("crossref", "book", "content_item") || book_metadata || book_series_metadata || book_set_metadata
51
52
  resource_type = bibliographic_metadata.fetch("component_type", nil) ? "book-" + bibliographic_metadata.fetch("component_type") : "book"
52
- publisher = book_metadata.present? ? book_metadata.dig("publisher", "publisher_name") : book_series_metadata.dig("publisher", "publisher_name")
53
+ # publisher = if book_metadata.present?
54
+ # book_metadata.dig("publisher", "publisher_name")
55
+ # elsif book_series_metadata.present?
56
+ # book_series_metadata.dig("publisher", "publisher_name")
57
+ # end
53
58
  when "conference"
54
59
  event_metadata = meta.dig("crossref", "conference", "event_metadata") || {}
55
60
  bibliographic_metadata = meta.dig("crossref", "conference", "conference_paper").to_h
@@ -69,7 +74,7 @@ module Bolognese
69
74
  end
70
75
  when "posted_content"
71
76
  bibliographic_metadata = meta.dig("crossref", "posted_content").to_h
72
- publisher = bibliographic_metadata.dig("institution", "institution_name")
77
+ publisher ||= bibliographic_metadata.dig("institution", "institution_name")
73
78
  when "sa_component"
74
79
  bibliographic_metadata = meta.dig("crossref", "sa_component", "component_list", "component").to_h
75
80
  related_identifier = Array.wrap(query.to_h["crm_item"]).find { |cr| cr["name"] == "relation" }
@@ -77,6 +82,9 @@ module Bolognese
77
82
  when "database"
78
83
  bibliographic_metadata = meta.dig("crossref", "database", "dataset").to_h
79
84
  resource_type = "dataset"
85
+ when "report_paper"
86
+ bibliographic_metadata = meta.dig("crossref", "report_paper", "report_paper_metadata").to_h
87
+ resource_type = "report"
80
88
  end
81
89
 
82
90
  resource_type = (resource_type || model).to_s.underscore.camelcase.presence
@@ -151,7 +159,7 @@ module Bolognese
151
159
  end
152
160
 
153
161
  id = normalize_doi(options[:doi] || options[:id] || bibliographic_metadata.dig("doi_data", "doi"))
154
- identifiers = [crossref_alternate_identifiers(bibliographic_metadata)].compact
162
+ identifiers = crossref_alternate_identifiers(bibliographic_metadata)
155
163
 
156
164
  { "id" => id,
157
165
  "types" => types,
@@ -164,7 +172,7 @@ module Bolognese
164
172
  "funding_references" => crossref_funding_reference(program_metadata),
165
173
  "publisher" => publisher,
166
174
  "container" => container,
167
- "agency" => agency = options[:ra] || "Crossref",
175
+ "agency" => agency = options[:ra] || "crossref",
168
176
  "related_identifiers" => related_identifiers,
169
177
  "dates" => dates,
170
178
  "publication_year" => publication_year,
@@ -182,14 +190,23 @@ module Bolognese
182
190
 
183
191
  def crossref_alternate_identifiers(bibliographic_metadata)
184
192
  if bibliographic_metadata.dig("publisher_item", "item_number").present?
185
- { "identifier" => parse_attributes(bibliographic_metadata.dig("publisher_item", "item_number")),
186
- "identifierType" => "Publisher ID" }
193
+ Array.wrap(bibliographic_metadata.dig("publisher_item", "item_number")).map do |item|
194
+ if item.is_a?(String)
195
+ { "identifier" => item,
196
+ "identifierType" => "Publisher ID" }
197
+ else
198
+ { "identifier" => item.fetch("__content__", nil),
199
+ "identifierType" => item.fetch("item_number_type", nil) || "Publisher ID" }
200
+ end
201
+ end
187
202
  elsif parse_attributes(bibliographic_metadata.fetch("item_number", nil)).present?
188
- { "identifier" => parse_attributes(bibliographic_metadata.fetch("item_number", nil)),
189
- "identifierType" => "Publisher ID" }
203
+ [{ "identifier" => parse_attributes(bibliographic_metadata.fetch("item_number", nil)),
204
+ "identifierType" => "Publisher ID" }]
190
205
  elsif parse_attributes(bibliographic_metadata.fetch("isbn", nil)).present?
191
- { "identifier" => parse_attributes(bibliographic_metadata.fetch("isbn", nil), first: true),
192
- "identifierType" => "ISBN" }
206
+ [{ "identifier" => parse_attributes(bibliographic_metadata.fetch("isbn", nil), first: true),
207
+ "identifierType" => "ISBN" }]
208
+ else
209
+ []
193
210
  end
194
211
  end
195
212
 
@@ -238,7 +255,7 @@ module Bolognese
238
255
  { "nameType" => "Organizational",
239
256
  "name" => a["name"] || a["__content__"] }
240
257
  end
241
- end.unwrap
258
+ end
242
259
  end
243
260
 
244
261
  def crossref_funding_reference(program_metadata)
@@ -227,7 +227,7 @@ module Bolognese
227
227
  "contributors" => get_authors(Array.wrap(meta.dig("contributors", "contributor"))),
228
228
  "container" => set_container(meta),
229
229
  "publisher" => parse_attributes(meta.fetch("publisher", nil), first: true).to_s.strip.presence,
230
- "agency" => "DataCite",
230
+ "agency" => "datacite",
231
231
  "funding_references" => funding_references,
232
232
  "dates" => dates,
233
233
  "publication_year" => parse_attributes(meta.fetch("publicationYear", nil), first: true).to_s.strip.presence,
@@ -117,7 +117,7 @@ module Bolognese
117
117
  "EditedBook" => "Book",
118
118
  "JournalArticle" => "ScholarlyArticle",
119
119
  "Journal" => nil,
120
- "Report" => nil,
120
+ "Report" => "Report",
121
121
  "BookSeries" => nil,
122
122
  "ReportSeries" => nil,
123
123
  "BookTrack" => nil,
@@ -146,7 +146,7 @@ module Bolognese
146
146
  "EditedBook" => "book",
147
147
  "JournalArticle" => "article",
148
148
  "Journal" => nil,
149
- "Report" => nil,
149
+ "Report" => "techreport",
150
150
  "BookSeries" => nil,
151
151
  "ReportSeries" => nil,
152
152
  "BookTrack" => nil,
@@ -205,6 +205,7 @@ module Bolognese
205
205
  "AudioObject" => "Sound",
206
206
  "Blog" => "Text",
207
207
  "BlogPosting" => "Text",
208
+ "Book" => "Text",
208
209
  "Chapter" => "Text",
209
210
  "Collection" => "Collection",
210
211
  "DataCatalog" => "Dataset",
@@ -213,6 +214,7 @@ module Bolognese
213
214
  "ImageObject" => "Image",
214
215
  "Movie" => "Audiovisual",
215
216
  "PublicationIssue" => "Text",
217
+ "Report" => "Text",
216
218
  "ScholarlyArticle" => "Text",
217
219
  "Thesis" => "Text",
218
220
  "Service" => "Service",
@@ -257,6 +259,7 @@ module Bolognese
257
259
  "ImageObject" => "graphic",
258
260
  "Movie" => "motion_picture",
259
261
  "PublicationIssue" => nil,
262
+ "Report" => "report",
260
263
  "ScholarlyArticle" => "article-journal",
261
264
  "Service" => nil,
262
265
  "Thesis" => "thesis",
@@ -277,6 +280,7 @@ module Bolognese
277
280
  "Event" => nil,
278
281
  "ImageObject" => "FIGURE",
279
282
  "Movie" => "MPCT",
283
+ "Report" => "RPRT",
280
284
  "PublicationIssue" => nil,
281
285
  "ScholarlyArticle" => "JOUR",
282
286
  "Service" => nil,
@@ -297,11 +301,11 @@ module Bolognese
297
301
  "EditedBook" => "BOOK",
298
302
  "JournalArticle" => "JOUR",
299
303
  "Journal" => nil,
300
- "Report" => nil,
304
+ "Report" => "RPRT",
301
305
  "BookSeries" => nil,
302
306
  "ReportSeries" => nil,
303
307
  "BookTrack" => nil,
304
- "Standard" => nil,
308
+ "Standard" => "STAND",
305
309
  "BookSection" => "CHAP",
306
310
  "BookPart" => "CHAP",
307
311
  "Book" => "BOOK",
@@ -965,6 +969,8 @@ module Bolognese
965
969
  month = iso8601_time[5..6].to_i
966
970
  day = iso8601_time[8..9].to_i
967
971
  { 'date-parts' => [[year, month, day].reject { |part| part == 0 }] }
972
+ rescue TypeError
973
+ nil
968
974
  end
969
975
 
970
976
  def get_date_from_date_parts(date_as_parts)
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "1.8"
2
+ VERSION = "1.8.5"
3
3
  end
@@ -58,6 +58,6 @@
58
58
  "description": "This tools are used to analyse the data produced by the Crosssover Experiment I designed to test Choice Architecture techniques as UI interventions in a SEEk4Science data catalogue. It contains:\n\n- Data structures for the experimental data.<br>\n- Visualisation functions<br>\n- Analysis functions\n\n## Installation\n\n- R<br>\n- python<br>\n- ipython 4\n\nClone and use.\n\n## Usage\n\n<br>\n```python<br>\nsource('parallel_plot.r')<br>\nwith(z, parallelset(trt,response, freq=count, alpha=0.2))<br>\n```\n\n<br>\n## Contributing\n\n1. Fork it!<br>\n2. Create your feature branch: `git checkout -b my-new-feature`<br>\n3. Commit your changes: `git commit -am 'Add some feature'`<br>\n4. Push to the branch: `git push origin my-new-feature`<br>\n5. Submit a pull request :D\n\n<br>\n## License\n\nThis work supports my PhD Thesis at University of Manchester."
59
59
  }],
60
60
  "schema_version": "http://datacite.org/schema/kernel-4",
61
- "agency": "DataCite",
61
+ "agency": "datacite",
62
62
  "state": "findable"
63
63
  }
@@ -79,5 +79,5 @@
79
79
  "description": "Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for..."
80
80
  }],
81
81
  "schemaVersion": "http://datacite.org/schema/kernel-4",
82
- "agency": "DataCite"
82
+ "agency": "datacite"
83
83
  }
@@ -17,5 +17,5 @@
17
17
  "publisher": "KNB Data Repository",
18
18
  "publication-year": "2016",
19
19
  "schema-version": "http://datacite.org/schema/kernel-3",
20
- "agency": "DataCite"
20
+ "agency": "datacite"
21
21
  }
@@ -68,7 +68,7 @@
68
68
  "schemaVersion": "http://datacite.org/schema/kernel-4",
69
69
  "providerId": "cern",
70
70
  "clientId": "cern.zenodo",
71
- "agency": "DataCite",
71
+ "agency": "datacite",
72
72
  "state": "findable"
73
73
  }
74
74
 
@@ -0,0 +1,91 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://doi.org/ra/10.1093
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; Maremma/4.7.1; 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
+ - Wed, 29 Jul 2020 18:49:31 GMT
21
+ Content-Type:
22
+ - application/json;charset=UTF-8
23
+ Connection:
24
+ - keep-alive
25
+ Set-Cookie:
26
+ - __cfduid=d6614b5a2ad0605965c4795ee34c9c8951596048571; expires=Fri, 28-Aug-20
27
+ 18:49:31 GMT; path=/; domain=.doi.org; HttpOnly; SameSite=Lax; Secure
28
+ Cf-Cache-Status:
29
+ - DYNAMIC
30
+ Cf-Request-Id:
31
+ - 043d8195850000c29fe4ae0200000001
32
+ Expect-Ct:
33
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
34
+ Strict-Transport-Security:
35
+ - max-age=31536000; includeSubDomains; preload
36
+ Server:
37
+ - cloudflare
38
+ Cf-Ray:
39
+ - 5ba90535aee4c29f-FRA
40
+ body:
41
+ encoding: ASCII-8BIT
42
+ string: |-
43
+ [
44
+ {
45
+ "DOI": "10.1093",
46
+ "RA": "Crossref"
47
+ }
48
+ ]
49
+ http_version:
50
+ recorded_at: Wed, 29 Jul 2020 18:49:31 GMT
51
+ - request:
52
+ method: get
53
+ uri: https://api.crossref.org/works/10.1093/oxfordhb/9780198746140.013.5/transform/application/vnd.crossref.unixsd+xml
54
+ body:
55
+ encoding: US-ASCII
56
+ string: ''
57
+ headers:
58
+ User-Agent:
59
+ - Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
60
+ Accept:
61
+ - text/xml
62
+ response:
63
+ status:
64
+ code: 200
65
+ message: OK
66
+ headers:
67
+ Link:
68
+ - <http://dx.doi.org/10.1093/oxfordhb/9780198746140.013.5>; rel="canonical"
69
+ Access-Control-Allow-Origin:
70
+ - "*"
71
+ Access-Control-Allow-Headers:
72
+ - X-Requested-With
73
+ Content-Length:
74
+ - '5031'
75
+ Server:
76
+ - http-kit
77
+ Date:
78
+ - Wed, 29 Jul 2020 18:49:32 GMT
79
+ X-Rate-Limit-Limit:
80
+ - '50'
81
+ X-Rate-Limit-Interval:
82
+ - 1s
83
+ Connection:
84
+ - close
85
+ body:
86
+ encoding: ASCII-8BIT
87
+ string: !binary |-
88
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNyb3NzcmVmX3Jlc3VsdCB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIiB2ZXJzaW9uPSIzLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIGh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3NjaGVtYXMvY3Jvc3NyZWZfcXVlcnlfb3V0cHV0My4wLnhzZCI+DQogIDxxdWVyeV9yZXN1bHQ+DQogICAgPGhlYWQ+DQogICAgICA8ZG9pX2JhdGNoX2lkPm5vbmU8L2RvaV9iYXRjaF9pZD4NCiAgICA8L2hlYWQ+DQogICAgPGJvZHk+DQogICAgICA8cXVlcnkgc3RhdHVzPSJyZXNvbHZlZCI+DQogICAgICAgIDxkb2kgdHlwZT0iYm9va190aXRsZSI+MTAuMTA5My9veGZvcmRoYi85NzgwMTk4NzQ2MTQwLjAxMy41PC9kb2k+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwdWJsaXNoZXItbmFtZSIgdHlwZT0ic3RyaW5nIj5PeGZvcmQgVW5pdmVyc2l0eSBQcmVzcyAoT1VQKTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwcmVmaXgtbmFtZSIgdHlwZT0ic3RyaW5nIj5PeGZvcmQgVW5pdmVyc2l0eSBQcmVzczwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJtZW1iZXItaWQiIHR5cGU9Im51bWJlciI+Mjg2PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImNpdGF0aW9uLWlkIiB0eXBlPSJudW1iZXIiPjk3NjQ3MzU0PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImJvb2staWQiIHR5cGU9Im51bWJlciI+MzAyMzQ1NDwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJzZXJpZXMtaWQiIHR5cGU9Im51bWJlciI+MTQzNjE1MjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJkZXBvc2l0LXRpbWVzdGFtcCIgdHlwZT0ibnVtYmVyIj4yMDE4MDQwNTE1MjM1NDwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJvd25lci1wcmVmaXgiIHR5cGU9InN0cmluZyI+MTAuMTA5MzwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJsYXN0LXVwZGF0ZSIgdHlwZT0iZGF0ZSI+MjAxOC0wNC0wNlQwMzo0MDo1OFo8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY3JlYXRlZCIgdHlwZT0iZGF0ZSI+MjAxOC0wNC0wNVQxNDozMDowN1o8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY2l0ZWRieS1jb3VudCIgdHlwZT0ibnVtYmVyIj4xPC9jcm0taXRlbT4NCiAgICAgICAgPGRvaV9yZWNvcmQ+DQogICAgICAgICAgPGNyb3NzcmVmIHhtbG5zPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy94c2NoZW1hLzEuMSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy94c2NoZW1hLzEuMSBodHRwOi8vZG9pLmNyb3NzcmVmLm9yZy9zY2hlbWFzL3VuaXhyZWYxLjEueHNkIj4NCiAgICAgICAgICAgIDxib29rIGJvb2tfdHlwZT0iZWRpdGVkX2Jvb2siPg0KICAgICAgICAgICAgICA8Ym9va19zZXRfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIiBtZXRhZGF0YV9kaXN0cmlidXRpb25fb3B0cz0icXVlcnkiIHJlZmVyZW5jZV9kaXN0cmlidXRpb25fb3B0cz0ibm9uZSI+DQogICAgICAgICAgICAgICAgPHNldF9tZXRhZGF0YT4NCiAgICAgICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgICAgIDx0aXRsZT5PeGZvcmQgSGFuZGJvb2tzIE9ubGluZTwvdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxvcmlnaW5hbF9sYW5ndWFnZV90aXRsZT5PeGZvcmQgSGFuZGJvb2tzIE9ubGluZTwvb3JpZ2luYWxfbGFuZ3VhZ2VfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgICAgIDxub2lzYm4gcmVhc29uPSJzaW1wbGVfc2VyaWVzIiAvPg0KICAgICAgICAgICAgICAgIDwvc2V0X21ldGFkYXRhPg0KICAgICAgICAgICAgICAgIDxjb250cmlidXRvcnM+DQogICAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iZWRpdG9yIiBsYW5ndWFnZT0iZW4iIHNlcXVlbmNlPSJmaXJzdCI+DQogICAgICAgICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkRhbmllbDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+Q296b3J0PC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJlZGl0b3IiIGxhbmd1YWdlPSJlbiIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5KYW1lcyBNYXJrPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICAgICAgICA8c3VybmFtZT5TaGllbGRzPC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIGxhbmd1YWdlPSJlbiIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5CYXJicmEgUi48L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPkNsYXl0b248L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgICAgIDwvY29udHJpYnV0b3JzPg0KICAgICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgICA8dGl0bGU+VGhlIENoYW5naW5nIFdheSBvZiB0aGUgQm9kaGlzYXR0dmE8L3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPG9yaWdpbmFsX2xhbmd1YWdlX3RpdGxlPlRoZSBDaGFuZ2luZyBXYXkgb2YgdGhlIEJvZGhpc2F0dHZhPC9vcmlnaW5hbF9sYW5ndWFnZV90aXRsZT4NCiAgICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgICA8YWJzdHJhY3QgeG1sbnM9Imh0dHA6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9KQVRTMSI+DQogICAgICAgICAgICAgICAgICA8cD5UaGlzIGNoYXB0ZXIgZXhwbG9yZXMgdGhlIG5hdHVyZSBvZiB0aGUgY29ubmVjdGlvbnMgYmV0d2VlbiBjb250ZW1wb3JhcnkgdW5kZXJzdGFuZGluZ3Mgb2YgdGhlIGJvZGhpc2F0dHZhIHBhdGggYXMgc29jaWFsbHkgZW5nYWdlZCwgYW5kIHRoZSBjYW5vbmljYWwgTWFoxIF5xIFuYSB0cmFkaXRpb24gaW4gSW5kaWHigJR0aGUgVWdyYXBhcmlw4bmbY2NoxIEtc8WrdHJhIGFuZCB0aGUgd29ya3Mgb2YgxZrEgW50aWRldmEuIFRoZXNlIGNhbm9uaWNhbCB0cmVhdG1lbnRzIG9mIHRoZSBib2RoaXNhdHR2YeKAmXMgY2FyZWVyIGFyZSBjb21wYXJlZCB3aXRoIGEgY29udGVtcG9yYXJ5IHVuZGVyc3RhbmRpbmcgYXMgcmVmbGVjdGVkIGluIHRoZSBjb21tZW50YXJ5IG9uIMWaxIFudGlkZXZh4oCZcyBCb2RoaWNhcnnEgXZhdMSBcmEgYnkgUGVtYSBDaMO2ZHLDtm4uIFRoaXMgYW5hbHlzaXMgcmV2ZWFscyBkaXN0aW5jdCB2aXNpb25zIG9mIHRoZSBib2RoaXNhdHR2YSwgZnJvbSB0aGUgVWdyYeKAmXMgZWxpdGUgc3VwZXJoZXJvLCB0byDFmsSBbnRpZGV2YeKAmXMgc2FpbnRseSBib2RoaXNhdHR2YSwgdG8gdGhlIG1vZGVybiB2aWV3IG9mIHRoZSBib2RoaXNhdHR2YSBhcyBzb2NpYWwgYWN0aXZpc3QuIFRoZSBjYXJlZXIgb2YgdGhlIGJvZGhpc2F0dHZhIGlzIGZ1cnRoZXJtb3JlIHNob3duIHRvIGludm9sdmUgYSByYW5nZSBvZiB0eXBlcyBvZiBzb2NpYWwgZW5nYWdlbWVudC4gV2hpbGUgdGhlIGNhbm9uaWNhbCB0ZXh0cyBzdXBwb3J0IHRoZSBpZGVhbCBvZiBpbWJ1aW5nIGFsbCBkYWlseSBhY3Rpdml0aWVzIHdpdGggYW4gYWx0cnVpc3RpYyBtb3RpdmUsIGFzIHdlbGwgYXMgZW5kb3JzaW5nIHNlbGZsZXNzIHNlcnZpY2UgdG8gbWVldCB0aGUgbmVlZHMgYW5kIHdhbnRzIG9mIHNlbnRpZW50IGJlaW5ncywgb25seSB0aGUgY29udGVtcG9yYXJ5IHJlYWRpbmcgb2YgdGhlIGJvZGhpc2F0dHZhIHBhdGggYWR2b2NhdGVzIHNvY2lhbCBhY3Rpb24gdG8gYWRkcmVzcyBzeXN0ZW1pYyBjYXVzZXMgb2YgY29sbGVjdGl2ZSBzdWZmZXJpbmcuPC9wPg0KICAgICAgICAgICAgICAgIDwvYWJzdHJhY3Q+DQogICAgICAgICAgICAgICAgPHZvbHVtZT4xPC92b2x1bWU+DQogICAgICAgICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGU+DQogICAgICAgICAgICAgICAgICA8bW9udGg+MDQ8L21vbnRoPg0KICAgICAgICAgICAgICAgICAgPGRheT4wNTwvZGF5Pg0KICAgICAgICAgICAgICAgICAgPHllYXI+MjAxODwveWVhcj4NCiAgICAgICAgICAgICAgICA8L3B1YmxpY2F0aW9uX2RhdGU+DQogICAgICAgICAgICAgICAgPG5vaXNibiByZWFzb249InNpbXBsZV9zZXJpZXMiIC8+DQogICAgICAgICAgICAgICAgPHB1Ymxpc2hlcj4NCiAgICAgICAgICAgICAgICAgIDxwdWJsaXNoZXJfbmFtZT5PeGZvcmQgVW5pdmVyc2l0eSBQcmVzczwvcHVibGlzaGVyX25hbWU+DQogICAgICAgICAgICAgICAgPC9wdWJsaXNoZXI+DQogICAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDkzL294Zm9yZGhiLzk3ODAxOTg3NDYxNDAuMDEzLjU8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDxyZXNvdXJjZSBtaW1lX3R5cGU9InRleHQvaHRtbCI+aHR0cDovL294Zm9yZGhhbmRib29rcy5jb20vdmlldy8xMC4xMDkzL294Zm9yZGhiLzk3ODAxOTg3NDYxNDAuMDAxLjAwMDEvb3hmb3JkaGItOTc4MDE5ODc0NjE0MC1lLTU8L3Jlc291cmNlPg0KICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgIDwvYm9va19zZXRfbWV0YWRhdGE+DQogICAgICAgICAgICA8L2Jvb2s+DQogICAgICAgICAgPC9jcm9zc3JlZj4NCiAgICAgICAgPC9kb2lfcmVjb3JkPg0KICAgICAgPC9xdWVyeT4NCiAgICA8L2JvZHk+DQogIDwvcXVlcnlfcmVzdWx0Pg0KPC9jcm9zc3JlZl9yZXN1bHQ+
89
+ http_version:
90
+ recorded_at: Wed, 29 Jul 2020 18:49:32 GMT
91
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,94 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://doi.org/ra/10.5194
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; Maremma/4.7.1; 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
+ - Wed, 29 Jul 2020 06:09:32 GMT
21
+ Content-Type:
22
+ - application/json;charset=UTF-8
23
+ Connection:
24
+ - keep-alive
25
+ Set-Cookie:
26
+ - __cfduid=d405b79b8c70ba4b495e3fcba1355b80c1596002972; expires=Fri, 28-Aug-20
27
+ 06:09:32 GMT; path=/; domain=.doi.org; HttpOnly; SameSite=Lax; Secure
28
+ Cf-Cache-Status:
29
+ - DYNAMIC
30
+ Cf-Request-Id:
31
+ - 043ac9cad6000005bbc5b4f200000001
32
+ Expect-Ct:
33
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
34
+ Strict-Transport-Security:
35
+ - max-age=31536000; includeSubDomains; preload
36
+ Server:
37
+ - cloudflare
38
+ Cf-Ray:
39
+ - 5ba4abf15d0705bb-FRA
40
+ body:
41
+ encoding: ASCII-8BIT
42
+ string: |-
43
+ [
44
+ {
45
+ "DOI": "10.5194",
46
+ "RA": "Crossref"
47
+ }
48
+ ]
49
+ http_version:
50
+ recorded_at: Wed, 29 Jul 2020 06:09:32 GMT
51
+ - request:
52
+ method: get
53
+ uri: https://api.crossref.org/works/10.5194/cp-2020-95/transform/application/vnd.crossref.unixsd+xml
54
+ body:
55
+ encoding: US-ASCII
56
+ string: ''
57
+ headers:
58
+ User-Agent:
59
+ - Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
60
+ Accept:
61
+ - text/xml
62
+ response:
63
+ status:
64
+ code: 200
65
+ message: OK
66
+ headers:
67
+ Link:
68
+ - <http://dx.doi.org/10.5194/cp-2020-95>; rel="canonical", <https://creativecommons.org/licenses/by/4.0/>;
69
+ rel="license", <http://orcid.org/0000-0001-6130-6474>; title="Jun Shao"; rel="author",
70
+ <http://orcid.org/0000-0002-5068-1591>; title="Laurie Menviel"; rel="author",
71
+ <http://orcid.org/0000-0003-3306-0969>; title="Mayhar Mohtadi"; rel="author"
72
+ Access-Control-Allow-Origin:
73
+ - "*"
74
+ Access-Control-Allow-Headers:
75
+ - X-Requested-With
76
+ Content-Length:
77
+ - '7366'
78
+ Server:
79
+ - http-kit
80
+ Date:
81
+ - Wed, 29 Jul 2020 06:09:33 GMT
82
+ X-Rate-Limit-Limit:
83
+ - '50'
84
+ X-Rate-Limit-Interval:
85
+ - 1s
86
+ Connection:
87
+ - close
88
+ body:
89
+ encoding: ASCII-8BIT
90
+ string: !binary |-
91
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNyb3NzcmVmX3Jlc3VsdCB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIiB2ZXJzaW9uPSIzLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIGh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3NjaGVtYXMvY3Jvc3NyZWZfcXVlcnlfb3V0cHV0My4wLnhzZCI+DQogIDxxdWVyeV9yZXN1bHQ+DQogICAgPGhlYWQ+DQogICAgICA8ZG9pX2JhdGNoX2lkPm5vbmU8L2RvaV9iYXRjaF9pZD4NCiAgICA8L2hlYWQ+DQogICAgPGJvZHk+DQogICAgICA8cXVlcnkgc3RhdHVzPSJyZXNvbHZlZCI+DQogICAgICAgIDxkb2kgdHlwZT0icG9zdGVkX2NvbnRlbnQiPjEwLjUxOTQvY3AtMjAyMC05NTwvZG9pPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0icHVibGlzaGVyLW5hbWUiIHR5cGU9InN0cmluZyI+Q29wZXJuaWN1cyBHbWJIPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9InByZWZpeC1uYW1lIiB0eXBlPSJzdHJpbmciPkNvcGVybmljdXMgR21iSDwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJtZW1iZXItaWQiIHR5cGU9Im51bWJlciI+MzE0NTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjaXRhdGlvbi1pZCIgdHlwZT0ibnVtYmVyIj4xMTgzMTgxNTE8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iYm9vay1pZCIgdHlwZT0ibnVtYmVyIj4zNDMwMzQyPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImRlcG9zaXQtdGltZXN0YW1wIiB0eXBlPSJudW1iZXIiPjIwMjAwNzI4MDczNjMxPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Im93bmVyLXByZWZpeCIgdHlwZT0ic3RyaW5nIj4xMC41MTk0PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Imxhc3QtdXBkYXRlIiB0eXBlPSJkYXRlIj4yMDIwLTA3LTI4VDA5OjE2OjExWjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjcmVhdGVkIiB0eXBlPSJkYXRlIj4yMDIwLTA3LTI4VDA5OjE2OjEwWjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjaXRlZGJ5LWNvdW50IiB0eXBlPSJudW1iZXIiPjA8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0icmVsYXRpb24iIHR5cGU9ImRvaSIgY2xhaW09ImlzU3VwcGxlbWVudFRvIj4xMC41MTk0L2NwLTIwMjAtOTUtc3VwcGxlbWVudDwvY3JtLWl0ZW0+DQogICAgICAgIDxkb2lfcmVjb3JkPg0KICAgICAgICAgIDxjcm9zc3JlZiB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcveHNjaGVtYS8xLjEiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcveHNjaGVtYS8xLjEgaHR0cDovL2RvaS5jcm9zc3JlZi5vcmcvc2NoZW1hcy91bml4cmVmMS4xLnhzZCI+DQogICAgICAgICAgICA8cG9zdGVkX2NvbnRlbnQgdHlwZT0icHJlcHJpbnQiPg0KICAgICAgICAgICAgICA8Z3JvdXBfdGl0bGU+Q2FyYm9uIEN5Y2xlL01vZGVsbGluZyBvbmx5L01pbGxlbmlhbC9ELU88L2dyb3VwX3RpdGxlPg0KICAgICAgICAgICAgICA8Y29udHJpYnV0b3JzPg0KICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBzZXF1ZW5jZT0iZmlyc3QiIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciI+DQogICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5KdW48L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICA8c3VybmFtZT5TaGFvPC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgPE9SQ0lEPmh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMS02MTMwLTY0NzQ8L09SQ0lEPg0KICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgPHBlcnNvbl9uYW1lIHNlcXVlbmNlPSJhZGRpdGlvbmFsIiBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiPg0KICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TG93ZWxsIEQ8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICA8c3VybmFtZT5TdG90dDwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBzZXF1ZW5jZT0iYWRkaXRpb25hbCIgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIj4NCiAgICAgICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkxhdXJpZTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPk1lbnZpZWw8L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgICA8T1JDSUQ+aHR0cHM6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTUwNjgtMTU5MTwvT1JDSUQ+DQogICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgc2VxdWVuY2U9ImFkZGl0aW9uYWwiIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciI+DQogICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5BbmR5PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+UmlkZ3dlbGw8L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgc2VxdWVuY2U9ImFkZGl0aW9uYWwiIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciI+DQogICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYWxpbjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPsOWZGFsZW48L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgc2VxdWVuY2U9ImFkZGl0aW9uYWwiIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciI+DQogICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYXloYXI8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICA8c3VybmFtZT5Nb2h0YWRpPC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgPE9SQ0lEPmh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0zMzA2LTA5Njk8L09SQ0lEPg0KICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgIDwvY29udHJpYnV0b3JzPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5UaGUgQXRtb3NwaGVyaWMgQnJpZGdlIENvbW11bmljYXRlZCB0aGUgzrQmYW1wO2x0O3N1cCZhbXA7Z3Q7MTMmYW1wO2x0Oy9zdXAmYW1wO2d0O0MgRGVjbGluZWR1cmluZyB0aGUgTGFzdCBEZWdsYWNpYXRpb24gdG8gdGhlIEdsb2JhbCBVcHBlciBPY2VhbjwvdGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8cG9zdGVkX2RhdGU+DQogICAgICAgICAgICAgICAgPG1vbnRoPjc8L21vbnRoPg0KICAgICAgICAgICAgICAgIDxkYXk+Mjg8L2RheT4NCiAgICAgICAgICAgICAgICA8eWVhcj4yMDIwPC95ZWFyPg0KICAgICAgICAgICAgICA8L3Bvc3RlZF9kYXRlPg0KICAgICAgICAgICAgICA8amF0czphYnN0cmFjdCB4bWxuczpqYXRzPSJodHRwOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvSkFUUzEiPg0KICAgICAgICAgICAgICAgIDxqYXRzOnA+PCFbQ0RBVEFbQWJzdHJhY3QuIER1cmluZyB0aGUgZWFybHkgbGFzdCBnbGFjaWFsIHRlcm1pbmF0aW9uICgxNy4y4oCTMTXigIlrYSkgYXRtb3NwaGVyaWMgzrQxM0MgZGVjbGluZWQgc2hhcnBseSBieSAwLjPigJMwLjTigInigLAgYXMgYXRtb3NwaGVyaWMgcENPMiByb3NlLiBUaGlzIHdhcyB0aGUgaW5pdGlhbCBwYXJ0IG9mIHRoZSBhdG1vc3BoZXJpYyDOtDEzQyBleGN1cnNpb24gdGhhdCBsYXN0ZWQgZm9yIG11bHRpcGxlIHRob3VzYW5kIHllYXJzLiBBIHNpbWlsYXIgzrQxM0MgZGVjbGluZSBoYXMgYmVlbiBkb2N1bWVudGVkIGluIG1hcmluZSBwcm94eSByZWNvcmRzIGZyb20gYm90aCBzdXJmYWNlIGFuZCB0aGVybW9jbGluZS1kd2VsbGluZyBwbGFua3RpYyBmb3JhbWluaWZlcmEuIFRoZSBmb3JhbWluaWZlcmFsIM60MTNDIGRlY2xpbmUgaGFzIHByZXZpb3VzbHkgYmVlbiBhdHRyaWJ1dGVkIHRvIGEgZmx1eCBvZiByZXNwaXJlZCBjYXJib24gZnJvbSB0aGUgZGVlcCBvY2VhbiB0aGF0IHdhcyBzdWJzZXF1ZW50bHkgdHJhbnNwb3J0ZWQgd2l0aGluIHRoZSB1cHBlciBvY2VhbiAoaS5lLiBib3R0b20gdXAgdHJhbnNwb3J0KSB0byBzaXRlcyB3aGVyZSB0aGUgc2lnbmFsIGlzIHJlY29yZGVkLiBIZXJlLCB3ZSBwcm92aWRlIG1vZGVsaW5nIGV2aWRlbmNlIHRoYXQgd2hlbiByZXNwaXJlZCBjYXJib24gdXB3ZWxscyBpbiB0aGUgU291dGhlcm4gT2NlYW4sIG5lZ2F0aXZlIM60MTNDIGFub21hbGllcyBpbiB0aGUgZ2xvYmFsIHVwcGVyIG9jZWFuIHdlcmUgaW5zdGVhZCB0cmFuc2ZlcnJlZCBmcm9tIHRoZSBhdG1vc3BoZXJlIChpLmUuIHRvcCBkb3duIHRyYW5zcG9ydCkuIER1ZSB0byB0aGlzIGVmZmljaWVudCBhdG1vc3BoZXJpYyBicmlkZ2UsIHRoZSBwYXRod2F5IG9mIM60MTNDIHRyYW5zcG9ydCB3YXMgbGlrZWx5IHRvIGJlIGRpZmZlcmVudCBmcm9tIG51dHJpZW50IHRyYW5zcG9ydCBkdXJpbmcgdGhlIGVhcmx5IGRlZ2xhY2lhdGlvbi4gVGhpcyBpbXBsaWVzIHRoYXQgdGhlIHVzYWdlIG9mIHBsYW5rdGljIM60MTNDIHJlY29yZHMgZm9yIGlkZW50aWZ5aW5nIHRoZSBjYXJib24gc291cmNlKHMpIHJlc3BvbnNpYmxlIGZvciB0aGUgYXRtb3NwaGVyaWMgcENPMiByaXNlIGR1cmluZyB0aGUgZWFybHkgZGVnbGFjaWF0aW9uIGlzIGxpbWl0ZWQuIFRoZSBtb2RlbCByZXN1bHRzIGFsc28gc3VnZ2VzdCB0aGF0IHRoZXJtb2NsaW5lIHdhdGVycyBpbiB1cHdlbGxpbmcgc3lzdGVtcyBsaWtlIHRoZSBlYXN0ZXJuIGVxdWF0b3JpYWwgUGFjaWZpYywgYW5kIGV2ZW4gdXBwZXIgZGVlcCB3YXRlcnMgYWJvdmUgMjAwMOKAiW0sIGNhbiBiZSBhZmZlY3RlZCBieSB0aGlzIGF0bW9zcGhlcmljIGJyaWRnZSBkdXJpbmcgdGhlIGVhcmx5IGRlZ2xhY2lhdGlvbi4gT3VyIHJlc3VsdHMgaW1wbHkgdGhhdCBjYXV0aW9uIG11c3QgYmUgYXBwbGllZCB3aGVuIGludGVycHJldGluZyBlYXJseSBkZWdsYWNpYWwgbWFyaW5lIM60MTNDIHJlY29yZHMgZnJvbSBkZXB0aHMgdGhhdCBhcmUgcG90ZW50aWFsbHkgYWZmZWN0ZWQgYnkgdGhlIGF0bW9zcGhlcmUuXV0+PC9qYXRzOnA+DQogICAgICAgICAgICAgIDwvamF0czphYnN0cmFjdD4NCiAgICAgICAgICAgICAgPGZyOnByb2dyYW0geG1sbnM6ZnI9Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL2Z1bmRyZWYueHNkIiBuYW1lPSJmdW5kcmVmIj4NCiAgICAgICAgICAgICAgICA8ZnI6YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8ZnI6YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgRGl2aXNpb24gb2YgT2NlYW4gU2NpZW5jZXMNCiAgICAgICAgICAgICAgICAgICAgPGZyOmFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvMTAwMDAwMTQxPC9mcjphc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2ZyOmFzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDxmcjphc3NlcnRpb24gbmFtZT0iYXdhcmRfbnVtYmVyIj4xNTU4OTkwPC9mcjphc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8ZnI6YXNzZXJ0aW9uIG5hbWU9ImF3YXJkX251bWJlciI+MTczNjc3MTwvZnI6YXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvZnI6YXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDxmcjphc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgICAgIDxmcjphc3NlcnRpb24gbmFtZT0iZnVuZGVyX25hbWUiPg0KICAgICAgICAgICAgICAgICAgICBBdXN0cmFsaWFuIFJlc2VhcmNoIENvdW5jaWwNCiAgICAgICAgICAgICAgICAgICAgPGZyOmFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDAwOTIzPC9mcjphc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2ZyOmFzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDxmcjphc3NlcnRpb24gbmFtZT0iYXdhcmRfbnVtYmVyIj5GVDE4MDEwMDYwNjwvZnI6YXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGZyOmFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPkRQMTgwMTAwMDQ4PC9mcjphc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9mcjphc3NlcnRpb24+DQogICAgICAgICAgICAgIDwvZnI6cHJvZ3JhbT4NCiAgICAgICAgICAgICAgPGFpOnByb2dyYW0geG1sbnM6YWk9Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL0FjY2Vzc0luZGljYXRvcnMueHNkIiBuYW1lPSJBY2Nlc3NJbmRpY2F0b3JzIj4NCiAgICAgICAgICAgICAgICA8YWk6bGljZW5zZV9yZWY+aHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzQuMC88L2FpOmxpY2Vuc2VfcmVmPg0KICAgICAgICAgICAgICA8L2FpOnByb2dyYW0+DQogICAgICAgICAgICAgIDxyZWw6cHJvZ3JhbSB4bWxuczpyZWw9Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3JlbGF0aW9ucy54c2QiIG5hbWU9InJlbGF0aW9ucyI+DQogICAgICAgICAgICAgICAgPHJlbDpyZWxhdGVkX2l0ZW0+DQogICAgICAgICAgICAgICAgICA8cmVsOmRlc2NyaXB0aW9uPlN1cHBsZW1lbnRhcnkgbWF0ZXJpYWw8L3JlbDpkZXNjcmlwdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxyZWw6aW50ZXJfd29ya19yZWxhdGlvbiBpZGVudGlmaWVyLXR5cGU9ImRvaSIgcmVsYXRpb25zaGlwLXR5cGU9ImlzU3VwcGxlbWVudGVkQnkiPjEwLjUxOTQvY3AtMjAyMC05NS1zdXBwbGVtZW50PC9yZWw6aW50ZXJfd29ya19yZWxhdGlvbj4NCiAgICAgICAgICAgICAgICA8L3JlbDpyZWxhdGVkX2l0ZW0+DQogICAgICAgICAgICAgIDwvcmVsOnByb2dyYW0+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjUxOTQvY3AtMjAyMC05NTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2NwLmNvcGVybmljdXMub3JnL3ByZXByaW50cy9jcC0yMDIwLTk1LzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L3Bvc3RlZF9jb250ZW50Pg0KICAgICAgICAgIDwvY3Jvc3NyZWY+DQogICAgICAgIDwvZG9pX3JlY29yZD4NCiAgICAgIDwvcXVlcnk+DQogICAgPC9ib2R5Pg0KICA8L3F1ZXJ5X3Jlc3VsdD4NCjwvY3Jvc3NyZWZfcmVzdWx0Pg==
92
+ http_version:
93
+ recorded_at: Wed, 29 Jul 2020 06:09:33 GMT
94
+ recorded_with: VCR 3.0.3