bolognese 0.9.38 → 0.9.39

Sign up to get free protection for your applications and to get access to all the features.
Files changed (249) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +12 -11
  3. data/bolognese.gemspec +3 -2
  4. data/lib/bolognese/readers/crossref_reader.rb +5 -1
  5. data/lib/bolognese/version.rb +1 -1
  6. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml +13 -11
  7. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml +10 -12
  8. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_crossref.yml +10 -10
  9. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_datacite.yml +10 -10
  10. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_schema_org.yml +12 -10
  11. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/default.yml +13 -15
  12. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_bibtex.yml +14 -14
  13. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite.yml +13 -15
  14. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite_json.yml +13 -15
  15. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_schema_org.yml +13 -15
  16. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/default.yml +13 -13
  17. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_bibtex.yml +13 -13
  18. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_datacite.yml +13 -13
  19. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_schema_org.yml +13 -13
  20. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/author.yml +3 -3
  21. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/no_author.yml +2 -2
  22. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/single_author.yml +2 -2
  23. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml +3 -3
  24. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_doi.yml +11 -13
  25. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_title.yml +12 -12
  26. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/validates_against_schema.yml +3 -3
  27. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +2 -2
  28. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi.yml +2 -2
  29. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/not_a_doi.yml +3 -3
  30. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/sandbox_url.yml +3 -3
  31. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/url.yml +3 -3
  32. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/crossref.yml +10 -10
  33. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/datacite.yml +10 -12
  34. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/medra.yml +10 -12
  35. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_a_valid_prefix.yml +3 -3
  36. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_found.yml +11 -11
  37. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi.yml +3 -3
  38. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi_with_protocol.yml +3 -3
  39. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/dx_doi_org_url.yml +3 -3
  40. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/force_test_resolver.yml +3 -3
  41. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/https_url.yml +3 -3
  42. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver.yml +3 -3
  43. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver_http.yml +2 -2
  44. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml +21 -23
  45. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +20 -22
  46. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml +20 -22
  47. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml +22 -22
  48. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml +15 -15
  49. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml +16 -12
  50. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/schema_org.yml +12 -14
  51. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +22 -22
  52. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/bibtex.yml +13 -15
  53. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/citeproc.yml +14 -16
  54. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/codemeta.yml +14 -16
  55. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crosscite.yml +14 -14
  56. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crossref.yml +13 -13
  57. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite.yml +16 -16
  58. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite_json.yml +16 -16
  59. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/ris.yml +11 -15
  60. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/schema_org.yml +13 -15
  61. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_string/crosscite.yml +14 -14
  62. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org/with_id.yml +3 -3
  63. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/maremma.yml +8 -8
  64. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/no_codemeta_json.yml +7 -7
  65. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/not_found_error.yml +7 -7
  66. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +13 -11
  67. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +11 -11
  68. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +9 -9
  69. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml +11 -11
  70. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml +11 -13
  71. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml +13 -11
  72. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml +10 -12
  73. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml +15 -15
  74. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system.yml +14 -12
  75. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_not_found.yml +9 -11
  76. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml +13 -13
  77. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding.yml +15 -15
  78. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +13 -13
  79. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml +14 -16
  80. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml +14 -16
  81. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +13 -15
  82. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml +15 -15
  83. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml +15 -15
  84. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml +13 -15
  85. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml +15 -15
  86. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml +13 -15
  87. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorName.yml +14 -16
  88. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml +14 -14
  89. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml +2 -2
  90. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml +2 -2
  91. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml +2 -2
  92. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml +3 -3
  93. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml +3 -3
  94. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml +3 -3
  95. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifiers/has_ORCID.yml +10 -14
  96. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifiers/has_jacow_org_scheme.yml +11 -11
  97. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifiers/has_multiple_name_identifier.yml +10 -14
  98. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifiers/has_no_ORCID.yml +11 -13
  99. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml +10 -14
  100. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_multiple_names_in_display-order.yml +7 -11
  101. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml +11 -13
  102. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml +12 -16
  103. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +11 -15
  104. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml +10 -14
  105. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml +11 -11
  106. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml +2 -2
  107. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml +12 -16
  108. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_name_identifier.yml +7 -11
  109. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation.yml +8 -12
  110. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_role.yml +9 -11
  111. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml +12 -12
  112. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +12 -12
  113. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/not_found_error.yml +2 -2
  114. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +7 -7
  115. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/unknown_DOI_prefix.yml +9 -7
  116. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_alternate_identifiers/insert.yml +5 -7
  117. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml +5 -5
  118. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml +5 -7
  119. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates/insert.yml +5 -7
  120. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml +6 -8
  121. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml +6 -8
  122. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml +6 -8
  123. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml +6 -6
  124. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml +5 -7
  125. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml +5 -7
  126. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml +5 -7
  127. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml +6 -8
  128. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml +5 -7
  129. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml +5 -7
  130. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_titles/insert.yml +5 -7
  131. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_version/insert.yml +5 -7
  132. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_comma.yml +2 -2
  133. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_family_name.yml +3 -3
  134. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_id.yml +2 -2
  135. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_known_given_name.yml +2 -2
  136. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_no_info.yml +3 -3
  137. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_type_organization.yml +2 -2
  138. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/missing_comma.yml +13 -13
  139. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/nil.yml +15 -15
  140. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/overlapping_keys.yml +13 -13
  141. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/valid.yml +11 -13
  142. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/SICI_doi.yml +3 -3
  143. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi.yml +3 -3
  144. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_force_datacite_sandbox.yml +3 -3
  145. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_datacite_sandbox.yml +2 -2
  146. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +3 -3
  147. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_too_long.yml +3 -3
  148. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_with_string.yml +2 -2
  149. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_with_protocol.yml +3 -3
  150. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/dx_doi_org_url.yml +2 -2
  151. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/https_url.yml +3 -3
  152. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/not_valid_doi_prefix.yml +2 -2
  153. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/url_with_one_slash.yml +2 -2
  154. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi.yml +3 -3
  155. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml +3 -3
  156. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml +3 -3
  157. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml +2 -2
  158. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml +2 -2
  159. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url.yml +3 -3
  160. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml +3 -3
  161. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/doi.yml +2 -2
  162. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/url.yml +3 -3
  163. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/uri.yml +3 -3
  164. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash.yml +2 -2
  165. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array.yml +2 -2
  166. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array_of_strings.yml +3 -3
  167. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/first.yml +3 -3
  168. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/hash.yml +3 -3
  169. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/nil.yml +3 -3
  170. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/string.yml +2 -2
  171. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml +3 -3
  172. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml +3 -3
  173. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml +3 -3
  174. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml +3 -3
  175. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_https.yml +3 -3
  176. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml +3 -3
  177. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml +3 -3
  178. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml +3 -3
  179. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_www.yml +3 -3
  180. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +3 -3
  181. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +3 -3
  182. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +3 -3
  183. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +3 -3
  184. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi.yml +2 -2
  185. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_as_url.yml +3 -3
  186. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_with_protocol.yml +2 -2
  187. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/only_prefix.yml +3 -3
  188. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml +3 -3
  189. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml +2 -2
  190. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml +2 -2
  191. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml +3 -3
  192. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml +5 -7
  193. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml +6 -8
  194. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml +12 -12
  195. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml +8 -8
  196. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/text.yml +6 -6
  197. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_data_citation.yml +2 -2
  198. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml +3 -3
  199. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml +6 -8
  200. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +12 -12
  201. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml +5 -5
  202. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/container_title.yml +6 -6
  203. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml +2 -2
  204. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml +8 -8
  205. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +6 -8
  206. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software.yml +6 -8
  207. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml +3 -3
  208. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +6 -8
  209. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/datacite_database_attributes.yml +6 -8
  210. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/maremma.yml +10 -10
  211. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +2 -2
  212. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation.yml +3 -3
  213. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +13 -13
  214. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crossref/from_DataCite.yml +6 -8
  215. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/maremma.yml +10 -10
  216. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +2 -2
  217. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +3 -3
  218. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +12 -12
  219. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +6 -6
  220. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru.yml +6 -6
  221. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/maremma.yml +8 -8
  222. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +3 -3
  223. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +3 -3
  224. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +13 -13
  225. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_editor.yml +2 -2
  226. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting.yml +6 -8
  227. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +13 -13
  228. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/Dataset.yml +5 -5
  229. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/alternate_name.yml +6 -8
  230. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/journal_article.yml +2 -2
  231. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/maremma.yml +8 -8
  232. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/with_pages.yml +2 -2
  233. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding.yml +8 -6
  234. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +6 -8
  235. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +6 -8
  236. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +6 -8
  237. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +5 -7
  238. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml +2 -2
  239. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +8 -8
  240. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting.yml +23 -25
  241. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_Citeproc_JSON.yml +18 -18
  242. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_DataCite_JSON.yml +18 -18
  243. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Crossref_DOI.yml +18 -18
  244. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/DataONE.yml +18 -18
  245. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Dataset.yml +23 -25
  246. data/spec/readers/crossref_reader_spec.rb +6 -6
  247. metadata +20 -8
  248. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/Dataset.yml +0 -142
  249. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/datacite.yml +0 -37
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 80ad59a9eaf459f05bae83efd342c5cc721f3e5c
4
- data.tar.gz: c885491d1dcd4cd1cd3fcb6d3f4f0271f8d2cfef
3
+ metadata.gz: 74236a3b1355a28b9702cd6587f8419eea4fc31a
4
+ data.tar.gz: cbd73bb470b4b3c73e77ef92be786d38f952daa5
5
5
  SHA512:
6
- metadata.gz: 9d891ad14ccc2638da17285fedf24158c2ec1eea28f0429c8c385ae67323163e2e66aee5766be2dc3332c0df8fa523c8372053dd0e75388d28c179456b995515
7
- data.tar.gz: ca06b12617aaede3c471c3f82c6f633847508bf7beaf1d148a7d8c8affcdad4cffd1427b656d6cfaf242c7fd86d786cb9fc3c46c35b9f479fc3a46fbe71c5593
6
+ metadata.gz: b5e65ea4c41bdba90956a5640db9f026ee5c470b86c9ba12fa96866c432317e957ee7fb72e15ee235e99b020d33ea6c62e75485f5a650e091f2d1daf20fd1bca
7
+ data.tar.gz: 0a3a113d7eb6bf0f921568b49144c0b0f42aef82d0e063f6aed674813d924e2d70ea6b8bd27088f5fc45c8a75fe044409e092e14133ca344ce5e0dc7bb1e17ad
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (0.9.38)
4
+ bolognese (0.9.39)
5
5
  activesupport (>= 4.2.5, < 6)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (~> 4.1)
@@ -14,6 +14,7 @@ PATH
14
14
  maremma (~> 3.5, >= 3.5.7)
15
15
  namae (~> 0.11.3)
16
16
  nokogiri (~> 1.6, >= 1.6.8)
17
+ oj (>= 2.8.3)
17
18
  postrank-uri (~> 1.0, >= 1.0.18)
18
19
  rdf-rdfxml (~> 2.0)
19
20
  rdf-turtle (~> 2.2)
@@ -33,8 +34,8 @@ GEM
33
34
  bibtex-ruby (4.4.4)
34
35
  latex-decode (~> 0.0)
35
36
  builder (3.2.3)
36
- codeclimate-test-reporter (1.0.7)
37
- simplecov
37
+ codeclimate-test-reporter (1.0.8)
38
+ simplecov (<= 0.13)
38
39
  colorize (0.8.1)
39
40
  concurrent-ruby (1.0.5)
40
41
  crack (0.4.3)
@@ -73,8 +74,8 @@ GEM
73
74
  link_header (0.0.8)
74
75
  loofah (2.0.3)
75
76
  nokogiri (>= 1.5.9)
76
- maremma (3.5.8)
77
- activesupport (>= 4.2.5)
77
+ maremma (3.5.10)
78
+ activesupport (>= 4.2.5, < 6)
78
79
  addressable (>= 2.3.6)
79
80
  builder (~> 3.2, >= 3.2.2)
80
81
  excon (~> 0.45.0)
@@ -83,7 +84,7 @@ GEM
83
84
  faraday_middleware (~> 0.10.0)
84
85
  multi_json (~> 1.12)
85
86
  nokogiri (~> 1.6, >= 1.6.8)
86
- oj (~> 2.18, >= 2.18.1)
87
+ oj (>= 2.8.3)
87
88
  mini_portile2 (2.1.0)
88
89
  minitest (5.10.3)
89
90
  multi_json (1.12.1)
@@ -101,7 +102,7 @@ GEM
101
102
  rack-test (0.7.0)
102
103
  rack (>= 1.0, < 3)
103
104
  rake (12.0.0)
104
- rdf (2.2.6)
105
+ rdf (2.2.7)
105
106
  hamster (~> 3.0)
106
107
  link_header (~> 0.0, >= 0.0.8)
107
108
  rdf-aggregate-repo (2.2.0)
@@ -112,7 +113,7 @@ GEM
112
113
  rdf (~> 2.2)
113
114
  rdf-aggregate-repo (~> 2.2)
114
115
  rdf-xsd (~> 2.1)
115
- rdf-rdfxml (2.1.0)
116
+ rdf-rdfxml (2.2.0)
116
117
  htmlentities (~> 4.3)
117
118
  rdf (~> 2.0)
118
119
  rdf-rdfa (~> 2.0)
@@ -139,7 +140,7 @@ GEM
139
140
  nokogiri (~> 1.6)
140
141
  rspec (~> 3)
141
142
  safe_yaml (1.0.4)
142
- simplecov (0.14.1)
143
+ simplecov (0.13.0)
143
144
  docile (~> 1.1.0)
144
145
  json (>= 1.8, < 3)
145
146
  simplecov-html (~> 0.10.0)
@@ -167,12 +168,12 @@ PLATFORMS
167
168
  DEPENDENCIES
168
169
  bolognese!
169
170
  bundler (~> 1.0)
170
- codeclimate-test-reporter (~> 1.0, >= 1.0.0)
171
+ codeclimate-test-reporter (~> 1.0, >= 1.0.8)
171
172
  rack-test (~> 0)
172
173
  rake (~> 12.0)
173
174
  rspec (~> 3.4)
174
175
  rspec-xsd (~> 0.1.0)
175
- simplecov (~> 0.14.1)
176
+ simplecov (~> 0.1)
176
177
  vcr (~> 3.0, >= 3.0.3)
177
178
  webmock (~> 3.0, >= 3.0.1)
178
179
 
data/bolognese.gemspec CHANGED
@@ -27,6 +27,7 @@ Gem::Specification.new do |s|
27
27
  s.add_dependency 'postrank-uri', '~> 1.0', '>= 1.0.18'
28
28
  s.add_dependency 'json-ld', '~> 2.1', '>= 2.1.2'
29
29
  s.add_dependency 'jsonlint', '~> 0.2.0'
30
+ s.add_dependency 'oj', '>= 2.8.3'
30
31
  s.add_dependency 'rdf-turtle', '~> 2.2'
31
32
  s.add_dependency 'rdf-rdfxml', '~> 2.0'
32
33
  s.add_dependency 'benchmark_methods', '~> 0.7'
@@ -38,8 +39,8 @@ Gem::Specification.new do |s|
38
39
  s.add_development_dependency 'rack-test', '~> 0'
39
40
  s.add_development_dependency 'vcr', '~> 3.0', '>= 3.0.3'
40
41
  s.add_development_dependency 'webmock', '~> 3.0', '>= 3.0.1'
41
- s.add_development_dependency 'codeclimate-test-reporter', '~> 1.0', '>= 1.0.0'
42
- s.add_development_dependency 'simplecov', '~> 0.14.1'
42
+ s.add_development_dependency 'codeclimate-test-reporter', '~> 1.0', '>= 1.0.8'
43
+ s.add_development_dependency 'simplecov', '~> 0.1'
43
44
 
44
45
  s.require_paths = ["lib"]
45
46
  s.files = `git ls-files`.split($/)
@@ -100,6 +100,10 @@ module Bolognese
100
100
  type = CR_TO_SO_TRANSLATIONS[additional_type] || "ScholarlyArticle"
101
101
  doi = bibliographic_metadata.dig("doi_data", "doi").to_s.downcase
102
102
 
103
+ # Crossref servers run on Eastern Time
104
+ Time.zone = 'Eastern Time (US & Canada)'
105
+ date_modified = Time.zone.parse(meta.fetch("timestamp", "")).utc.iso8601
106
+
103
107
  { "id" => normalize_doi(doi),
104
108
  "type" => type,
105
109
  "additional_type" => additional_type,
@@ -119,7 +123,7 @@ module Bolognese
119
123
  "is_part_of" => crossref_is_part_of(journal_metadata),
120
124
  "references" => crossref_references(bibliographic_metadata),
121
125
  "date_published" => crossref_date_published(bibliographic_metadata),
122
- "date_modified" => Time.parse(meta.fetch("timestamp", "")).utc.iso8601,
126
+ "date_modified" => date_modified,
123
127
  "volume" => journal_issue.dig("journal_volume", "volume"),
124
128
  "issue" => journal_issue.dig("issue"),
125
129
  "pagination" => [bibliographic_metadata.dig("pages", "first_page"), bibliographic_metadata.dig("pages", "last_page")].compact.join("-").presence,
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "0.9.38"
2
+ VERSION = "0.9.39"
3
3
  end
@@ -29,7 +29,7 @@ http_interactions:
29
29
  Content-Type:
30
30
  - application/vnd.api+json; charset=utf-8
31
31
  Date:
32
- - Sat, 22 Jul 2017 20:28:51 GMT
32
+ - Sat, 29 Jul 2017 13:43:23 GMT
33
33
  Etag:
34
34
  - W/"daf85afdb45f3c2713bc7e75916ba82a"
35
35
  Server:
@@ -45,28 +45,30 @@ http_interactions:
45
45
  X-Frame-Options:
46
46
  - SAMEORIGIN
47
47
  X-Kong-Proxy-Latency:
48
- - '2'
48
+ - '1'
49
49
  X-Kong-Upstream-Latency:
50
- - '521'
50
+ - '539'
51
51
  X-Powered-By:
52
- - Phusion Passenger 5.1.5
52
+ - Phusion Passenger 5.1.6
53
53
  X-Ratelimit-Limit-Hour:
54
54
  - '100000'
55
55
  X-Ratelimit-Remaining-Hour:
56
- - '99943'
56
+ - '99941'
57
57
  X-Request-Id:
58
- - c08e84a9-29e2-48ff-a42a-81bd62de88b0
58
+ - 531f2f5f-2f97-4ed1-8fff-a144a0e36b65
59
59
  X-Runtime:
60
- - '0.509048'
60
+ - '0.536496'
61
61
  X-Xss-Protection:
62
62
  - 1; mode=block
63
+ Content-Length:
64
+ - '124'
63
65
  Connection:
64
66
  - keep-alive
65
67
  body:
66
68
  encoding: UTF-8
67
69
  string: '{"data":{"id":"10.7554","type":"prefixes","attributes":{"registration-agency":"Crossref","updated":"2016-09-21T21:07:27Z"}}}'
68
70
  http_version:
69
- recorded_at: Sat, 22 Jul 2017 20:28:50 GMT
71
+ recorded_at: Sat, 29 Jul 2017 13:43:23 GMT
70
72
  - request:
71
73
  method: get
72
74
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.7554/elife.01567&noredirect=true&pid=tech@datacite.org
@@ -86,13 +88,13 @@ http_interactions:
86
88
  Server:
87
89
  - Apache-Coyote/1.1
88
90
  Crossref-Deployment-Name:
89
- - cr6-1
91
+ - cr7-1
90
92
  Content-Type:
91
93
  - text/xml;charset=UTF-8
92
94
  Content-Language:
93
95
  - en-US
94
96
  Date:
95
- - Sat, 22 Jul 2017 20:28:51 GMT
97
+ - Sat, 29 Jul 2017 13:43:22 GMT
96
98
  Connection:
97
99
  - close
98
100
  body:
@@ -100,5 +102,5 @@ http_interactions:
100
102
  string: !binary |-
101
103
  PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuNzU1NCIgdGltZXN0YW1wPSIyMDE1LTA4LTExIDA3OjM1OjAyIj4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8am91cm5hbD4NCiAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICA8ZnVsbF90aXRsZT5lTGlmZTwvZnVsbF90aXRsZT4NCiAgICAgICAgICA8aXNzbiBtZWRpYV90eXBlPSJlbGVjdHJvbmljIj4yMDUwLTA4NFg8L2lzc24+DQogICAgICAgIDwvam91cm5hbF9tZXRhZGF0YT4NCiAgICAgICAgPGpvdXJuYWxfaXNzdWU+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8am91cm5hbF92b2x1bWU+DQogICAgICAgICAgICA8dm9sdW1lPjM8L3ZvbHVtZT4NCiAgICAgICAgICA8L2pvdXJuYWxfdm9sdW1lPg0KICAgICAgICA8L2pvdXJuYWxfaXNzdWU+DQogICAgICAgIDxqb3VybmFsX2FydGljbGUgcHVibGljYXRpb25fdHlwZT0iZnVsbF90ZXh0Ij4NCiAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgPHRpdGxlPkF1dG9tYXRlZCBxdWFudGl0YXRpdmUgaGlzdG9sb2d5IHJldmVhbHMgdmFzY3VsYXIgbW9ycGhvZHluYW1pY3MgZHVyaW5nIEFyYWJpZG9wc2lzIGh5cG9jb3R5bCBzZWNvbmRhcnkgZ3Jvd3RoPC90aXRsZT4NCiAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICA8Y29udHJpYnV0b3JzPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TWFydGlhbDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+U2Fua2FyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+S2Fpc2E8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPk5pZW1pbmVuPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TGF1cmE8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPlJhZ25pPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+SW9hbm5pczwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+WGVuYXJpb3M8L3N1cm5hbWU+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5DaHJpc3RpYW4gUzwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+SGFyZHRrZTwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8cHVibGlzaGVyX2l0ZW0+DQogICAgICAgICAgICA8aWRlbnRpZmllciBpZF90eXBlPSJkb2kiPjEwLjc1NTQvZUxpZmUuMDE1Njc8L2lkZW50aWZpZXI+DQogICAgICAgICAgPC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAgICAgICAgICAgPGNyb3NzbWFya192ZXJzaW9uPjE8L2Nyb3NzbWFya192ZXJzaW9uPg0KICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+ZUxpZmVzY2llbmNlczwvY3Jvc3NtYXJrX3BvbGljeT4NCiAgICAgICAgICAgIDxjcm9zc21hcmtfZG9tYWlucz4NCiAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICAgICAgPGRvbWFpbj53d3cuZWxpZmVzY2llbmNlcy5vcmc8L2RvbWFpbj4NCiAgICAgICAgICAgICAgPC9jcm9zc21hcmtfZG9tYWluPg0KICAgICAgICAgICAgPC9jcm9zc21hcmtfZG9tYWlucz4NCiAgICAgICAgICAgIDxjcm9zc21hcmtfZG9tYWluX2V4Y2x1c2l2ZT5mYWxzZTwvY3Jvc3NtYXJrX2RvbWFpbl9leGNsdXNpdmU+DQogICAgICAgICAgICA8Y3VzdG9tX21ldGFkYXRhPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9InJlY2VpdmVkIiBsYWJlbD0iUmVjZWl2ZWQiIGdyb3VwX25hbWU9InB1YmxpY2F0aW9uX2hpc3RvcnkiIGdyb3VwX2xhYmVsPSJQdWJsaWNhdGlvbiBIaXN0b3J5IiBvcmRlcj0iMCI+MjAxMy0wOS0yMDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImFjY2VwdGVkIiBsYWJlbD0iQWNjZXB0ZWQiIGdyb3VwX25hbWU9InB1YmxpY2F0aW9uX2hpc3RvcnkiIGdyb3VwX2xhYmVsPSJQdWJsaWNhdGlvbiBIaXN0b3J5IiBvcmRlcj0iMSI+MjAxMy0xMi0yNDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9InB1Ymxpc2hlZCIgbGFiZWw9IlB1Ymxpc2hlZCIgZ3JvdXBfbmFtZT0icHVibGljYXRpb25faGlzdG9yeSIgZ3JvdXBfbGFiZWw9IlB1YmxpY2F0aW9uIEhpc3RvcnkiIG9yZGVyPSIyIj4yMDE0LTAyLTExPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDxwcm9ncmFtIG5hbWU9ImZ1bmRyZWYiPg0KICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX25hbWUiPlN5c3RlbXNYPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIEVNQk8NCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDAzMDQzPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgU3dpc3MgTmF0aW9uYWwgU2NpZW5jZSBGb3VuZGF0aW9uDQogICAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX2lkZW50aWZpZXIiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEzMDM5LzUwMTEwMDAwMTcxMTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIFVuaXZlcnNpdHkgb2YgTGF1c2FubmUNCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciIgcHJvdmlkZXI9ImNyb3NzcmVmIj5odHRwOi8vZHguZG9pLm9yZy8xMC4xMzAzOS81MDExMDAwMDYzOTA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8L3Byb2dyYW0+DQogICAgICAgICAgICAgIDxwcm9ncmFtIG5hbWU9IkFjY2Vzc0luZGljYXRvcnMiPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJ2b3IiPmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC88L2xpY2Vuc2VfcmVmPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJhbSI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFwcGxpZXNfdG89InRkbSI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICAgIDwvcHJvZ3JhbT4NCiAgICAgICAgICAgIDwvY3VzdG9tX21ldGFkYXRhPg0KICAgICAgICAgIDwvY3Jvc3NtYXJrPg0KICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2NzwvZG9pPg0KICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1Njc8L3Jlc291cmNlPg0KICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgPGNpdGF0aW9uX2xpc3Q+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkJvbmtlPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+NDI2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE4MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbmF0dXJlMDIxMDA8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+R2VuZXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+QnJlbm5lcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40MTM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xNTM0L2dlbmV0aWNzLjEwOS4xMDQ5NzY8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIzIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGh5c2lvbG9naWEgUGxhbnRhcnVtPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkNoYWZmZXk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMTQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTk0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAzNC9qLjEzOTktMzA1NC4yMDAyLjExNDA0MTMueDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OZXVyYWwgY29tcHV0YXRpb248L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Q2hhbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMTE5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTE2Mi8wODk5NzY2MDE3NTAzOTkzMzU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI1Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWFjaGluZSBMZWFybmluZzwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Db3J0ZXM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNzM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk1PC9jWWVhcj4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI2Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RG9sYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMTk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NzE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTkzPC9jWWVhcj4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U2VtaW5hcnMgaW4gQ2VsbCAmYW1wOyBEZXZlbG9wbWVudGFsIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RWxvPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTA5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDk8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5zZW1jZGIuMjAwOS4wOS4wMDk8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RXRjaGVsbHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjIyNDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEyNDIvZGV2LjA5MTMxNDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjkiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QTE9TIEdlbmV0aWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkV0Y2hlbGxzPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+ODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT5lMTAwMjk5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEzNzEvam91cm5hbC5wZ2VuLjEwMDI5OTc8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbGVjdWxhciBTeXN0ZW1zIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RnVjaHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT42PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM3MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTA8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbXNiLjIwMTAuMjU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpbyBTeXN0ZW1zPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkdyYW5xdmlzdDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjExMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5iaW9zeXN0ZW1zLjIwMTIuMDcuMDA0PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTIiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DdXJyZW50IE9waW5pb24gaW4gUGxhbnQgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Hcm9vdmVyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5wYmkuMjAwNS4xMS4wMTM8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SGlyYWthd2E8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjE4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNS90cGMuMTEwLjA3NjA4MzwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjE0Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvY2VlZGluZ3Mgb2YgdGhlIE5hdGlvbmFsIEFjYWRlbXkgb2YgU2NpZW5jZXMgb2YgdGhlIFVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5IaXJha2F3YTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjEwNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTIwODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwNzMvcG5hcy4wODA4NDQ0MTA1PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTUiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1leWVyb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT41Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTg5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2LzAwOTItODY3NCg4OSk5MDkwMC04PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbmNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1leWVyb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yOTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTQ4MjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjExMjYvc2NpZW5jZS4xMDY2NjA5PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTciPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QbGFudCBQaHlzaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk5pZW1pbmVuPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTM1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjY1MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjExMDQvcHAuMTA0LjA0MDIxMjwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjE4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIEJpb3RlY2hub2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Tm9ibGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTY1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAzOC9uYnQxMjA2LTE1NjU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxOSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb2NlZWRpbmdzIG9mIHRoZSBOYXRpb25hbCBBY2FkZW15IG9mIFNjaWVuY2VzIG9mIHRoZSBVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2E8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+T2xzb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT43Nzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTE2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk4MDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTA3My9wbmFzLjc3LjMuMTUxNjwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIwIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvaW5mb3JtYXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UGF1PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTc5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTA5My9iaW9pbmZvcm1hdGljcy9idHEwNDY8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UmFnbmk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMzIyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNS90cGMuMTExLjA4NDAyMDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIyIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TYW5rYXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjUwNjEvZHJ5YWQuYjgzNWs8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkN1cnJlbnQgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TaWJvdXQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40NTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA4PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouY3ViLjIwMDguMDIuMDcwPC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5UaGUgTmV3IFBoeXRvbG9naXN0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlNwaWNlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41Nzc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMTExL2ouMTQ2OS04MTM3LjIwMTAuMDMyMzYueDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjI1Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWFjaGluZSBWaXNpb24gYW5kIEFwcGxpY2F0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5UaGVyaWF1bHQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42NTk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDA3L3MwMDEzOC0wMTEtMDM0NS05PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlV5dHRld2FhbDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE0OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40Mzk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouY2VsbC4yMDEyLjAyLjA0ODwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjI3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIENlbGwgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5ZaW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT44NjA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDM4L25jYjI3NjQ8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICAgIDxjb21wb25lbnRfbGlzdD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPg0KICAgICAgICAgICAgICAgICAgPGI+QWJzdHJhY3Q8L2I+DQogICAgICAgICAgICAgICAgPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJ0ZXh0L3BsYWluIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwMTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPg0KICAgICAgICAgICAgICAgICAgPGI+ZUxpZmUgZGlnZXN0PC9iPg0KICAgICAgICAgICAgICAgIDwvdGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0idGV4dC9wbGFpbiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDI8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDI8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5GaWd1cmUgMS4gQ2VsbHVsYXIgbGV2ZWwgYW5hbHlzaXMgb2YgQXJhYmlkb3BzaXMgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGguPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+DQogICAgICAgICAgICAgICAgICAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBMaWdodCBtaWNyb3Njb3B5IG9mIGNyb3NzIHNlY3Rpb25zIG9idGFpbmVkIGZyb20gQXJhYmlkb3BzaXMgaHlwb2NvdHlscyAob3JnYW4gcG9zaXRpb24gaWxsdXN0cmF0ZWQgZm9yIGEgOS1kYXktb2xkIHNlZWRsaW5nLCBsb3dlciBsZWZ0KSBhdCA5IGRhZyAodXBwZXIgbGVmdCkgYW5kIDM1IGRhZyAocmlnaHQpLiBTaXplIGJhcnMgYXJlIDEwMCDOvG0uIEJsdWUgR1VTIHN0YWluaW5nIGR1ZSB0byB0aGUgcHJlc2VuY2Ugb2YgYW4NCiAgICAgICAgICAgICAgICAgIDxpPkFQTDo6R1VTPC9pPg0KICAgICAgICAgICAgICAgICAgcmVwb3J0ZXIgZ2VuZSBpbiB0aGlzIENvbC0wIGJhY2tncm91bmQgbGluZSBtYXJrcyBwaGxvZW0gYnVuZGxlcy4gKA0KICAgICAgICAgICAgICAgICAgPGI+QjwvYj4NCiAgICAgICAgICAgICAgICAgICkgT3ZlcnZpZXcgb2YgdGhlIGRldmVsb3BtZW50YWwgc2VyaWVzICh0aW1lIHBvaW50cyBhbmQgZGlzdGluY3Qgc2FtcGxlcyBwZXIgZ2Vub3R5cGUpIGFuYWx5emVkIGluIHRoaXMgc3R1ZHkuICgNCiAgICAgICAgICAgICAgICAgIDxiPkM8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgYSBoaWdoLXJlc29sdXRpb24gaHlwb2NvdHlsIHNlY3Rpb24gaW1hZ2UgYXNzZW1ibGVkIGZyb20gMTEgw5cgMTEgdGlsZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkQ8L2I+DQogICAgICAgICAgICAgICAgICApIFRoZSBzYW1lIGltYWdlIGFmdGVyIHByZS1wcm9jZXNzaW5nIGFuZCBiaW5hcml6YXRpb24sIGFuZCAoDQogICAgICAgICAgICAgICAgICA8Yj5FPC9iPg0KICAgICAgICAgICAgICAgICAgKSBzdWJzZXF1ZW50IHNlZ21lbnRhdGlvbiB1c2luZyBhIHdhdGVyc2hlZCBhbGdvcml0aG0uICgNCiAgICAgICAgICAgICAgICAgIDxiPkY8L2I+DQogICAgICAgICAgICAgICAgICApIE51bWJlciBvZiBtaXMtc2VnbWVudGVkIGNlbGxzIGFzIGRldGVybWluZWQgYnkgY2FyZWZ1bCB2aXN1YWwgaW5zcGVjdGlvbiBpbiAxMiBzZWN0aW9ucywgcGxvdHRlZCBhZ2FpbnN0IHRoZSB0b3RhbCBudW1iZXIgb2YgY2VsbHMgcGVyIHNlY3Rpb24gKGxvZyBzY2FsZSkuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwMzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAyLiBUaGUg4oCYUXVhbnRpdGF0aXZlIEhpc3RvbG9neeKAmSBhcHByb2FjaC48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIE92ZXJ2aWV3IG9mIHRoZSBjb21wdXRhdGlvbmFsIHBpcGVsaW5lIGZyb20gaW1hZ2UgYWNxdWlzaXRpb24gdG8gYW5hbHlzaXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIOKAmFBoZW5vcHJpbnRz4oCZIGZvciB0aGUgZGlmZmVyZW50IGdlbm90eXBlcyBhbmQgZGV2ZWxvcG1lbnRhbCBzdGFnZXMuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNDwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNDwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAy4oCUZmlndXJlIHN1cHBsZW1lbnQgMS4gQW4gZXhhbXBsZSBvZiBjbGFzc2lmaWVyIHNlbGVjdGlvbiB0aHJvdWdoIFYtZm9sZCBjcm9zcyB2YWxpZGF0aW9uLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPlRoZSBncmVlbiBhcnJvdyBwb2ludHMgb3V0IHRoZSBzZWxlY3RlZCBmZWF0dXJlIGNvbWJpbmF0aW9uIGFjY29yZGluZyB0byB0aGUgY3JpdGVyaWEgb2YgbWluaW11bSBudW1iZXIgb2YgZmVhdHVyZXMgd2l0aCB0aGUgaGlnaGVzdCBwZXJmb3JtYW5jZSBhbmQgdGhlIGxvd2VzdCB2YXJpYXRpb24gKHRoZSByYWRpdXNWIGZlYXR1cmUgd2FzIGV4Y2x1ZGVkIGR1ZSB0byBpdHMgcHV0YXRpdmUgdmFyaWF0aW9uIGluIHRpc3N1ZSBsb2NhdGlvbikuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAzLiBQcm9ncmVzc2lvbiBvZiB0aXNzdWUgcHJvbGlmZXJhdGlvbi48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIFByaW5jaXBhbCBjb21wb25lbnQgYW5hbHlzaXMgKFBDQSkgb2YgdGhlIHBoZW5vcHJpbnRzIHNob3duIGluIEZpZ3VyZSAyQiwgcGVyZm9ybWVkIHdpdGggbm9ybWFsaXplZCB2YWx1ZXMgKFN1cHBsZW1lbnRhcnkgZmlsZSA0KS4gVGhlIGlubGF5IHNjcmVlcGxvdCBkaXNwbGF5cyB0aGUgcHJvcG9ydGlvbiBvZiB0b3RhbCB2YXJpYXRpb24gZXhwbGFpbmVkIGJ5IGVhY2ggcHJpbmNpcGFsIGNvbXBvbmVudC4gKA0KICAgICAgICAgICAgICAgICAgPGI+QuKAk0U8L2I+DQogICAgICAgICAgICAgICAgICApIENvbXBhcmF0aXZlIHBsb3RzIG9mIHBhcmFtZXRlciBwcm9ncmVzc2lvbiBpbiB0aGUgdHdvIGdlbm90eXBlcy4gSW4gKA0KICAgICAgICAgICAgICAgICAgPGI+RDwvYj4NCiAgICAgICAgICAgICAgICAgICksIHh5bGVtIHJlcHJlc2VudHMgY29tYmluZWQgdmVzc2VsLCBwYXJlbmNoeW1hLCBhbmQgZmliZXIgY2VsbHMsIHBobG9lbSByZXByZXNlbnRzIGNvbWJpbmVkIHBobG9lbSBwYXJlbmNoeW1hIGFuZCBidW5kbGUgY2VsbHMuIEVycm9yIGJhcnMgaW5kaWNhdGUgc3RhbmRhcmQgZXJyb3IuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNjwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSA0LiBCaW1vZGFsIGRpc3RyaWJ1dGlvbiBvZiBpbmNsaW5lIGFuZ2xlIGFjY29yZGluZyB0byBwb3NpdGlvbi48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICBhbmQNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIFNwYXRpYWwgZGlzdHJpYnV0aW9uIG9mIGNlbGwgaW5jbGluZSBhbmdsZSBpbGx1c3RyYXRlcyB0aGUgdmFzY3VsYXIgb3JnYW5pemF0aW9uIGluIExlciAoDQogICAgICAgICAgICAgICAgICA8Yj5CPC9iPg0KICAgICAgICAgICAgICAgICAgKSBhcyBjb21wYXJlZCB0byBDb2wtMCAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBhdCBsYXRlciBzdGFnZXMgb2YgZGV2ZWxvcG1lbnQsIGZvciBleGFtcGxlIDMwIGRhZy4gVGhlIHNpemUgb2YgdGhlIGRpc2MgaW5jcmVhc2VzIHdpdGggdGhlIGFyZWEgb2YgdGhlIGNlbGwuIEJsdWUgY29sb3IgaW5kaWNhdGVzIHJhZGlhbCBjZWxsIG9yaWVudGF0aW9uLCByZWQgb3J0aG9yYWRpYWwuICgNCiAgICAgICAgICAgICAgICAgIDxiPkM8L2I+DQogICAgICAgICAgICAgICAgICBhbmQNCiAgICAgICAgICAgICAgICAgIDxiPkQ8L2I+DQogICAgICAgICAgICAgICAgICApIFZpb2xpbiBwbG90cyBvZiBpbmNsaW5lIGFuZ2xlIGRpc3RyaWJ1dGlvbiwgaWxsdXN0cmF0aW5nIGluY3JlYXNpbmdseSBiaW1vZGFsIGRpc3RyaWJ1dGlvbiBjb2luY2lkZW50IHdpdGggcmVmaW5lZCB2YXNjdWxhciBvcmdhbml6YXRpb24gYW5kIGRpZmZlcmVudCBkeW5hbWljcyBvZiB0aGUgcHJvY2VzcyBpbiB0aGUgdHdvIGdlbm90eXBlcy4NCiAgICAgICAgICAgICAgICA8L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDA3PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDA3PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDTigJRmaWd1cmUgc3VwcGxlbWVudCAxLiBBbiBpbGx1c3RyYXRpb24gb2YgdGhlIGluY2xpbmUgYW5nbGUuPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+VGhlIGluY2xpbmUgaXMgdGhlIGFuZ2xlIGJldHdlZW4gdGhlIHNlY3Rpb24gcmFkaXVzIHRocm91Z2ggdGhlIGNlbnRlciBvZiBhbiBlbGxpcHNlIGZpdCB0byBhIGNlbGwgYW5kIHRoZSBtYWpvciBheGlzIG9mIHRoYXQgZWxsaXBzZSBleHRlbmRlZCB0b3dhcmRzIHRoZSB4IGF4aXMuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwODwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwODwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSA1LiBEaXN0aW5jdCBsb2NhbCBvcmdhbml6YXRpb24gb2YgaW5jbGluZSBhbmdsZSBkdXJpbmcgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGggcHJvZ3Jlc3Npb24uPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+DQogICAgICAgICAgICAgICAgICAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAg4oCTDQogICAgICAgICAgICAgICAgICA8Yj5KPC9iPg0KICAgICAgICAgICAgICAgICAgKSBEZW5zaXR5IHBsb3RzIG9mIGNlbGwgaW5jbGluZSBhbmdsZSB2cyByYWRpYWwgcG9zaXRpb24gZm9yIHRoZSB0d28gZ2Vub3R5cGVzIGF0IHRoZSBpbmRpY2F0ZWQgZGV2ZWxvcG1lbnRhbCBzdGFnZXMsIHJlcHJlc2VudGluZyBhbGwgY2VsbHMgYWNyb3NzIGFsbCBzZWN0aW9ucyBmb3IgYSBnaXZlbiB0aW1lIHBvaW50LiBUaGUgcmVkIGxpbmVzIHJlcHJlc2VudCB0aGUgZml0IG9mIHRoZXNlIGNsb3VkIGRpc3RyaWJ1dGlvbnMgd2l0aCBsb2NhbGx5IHdlaWdodGVkIGxpbmVhciByZWdyZXNzaW9uIChpLmUuLCBsb3dlc3MpLCByZXZlYWxpbmcgdGhlIGVzc2VudGlhbCBkYXRhIHRyZW5kcy4gQWxsIHNlY3Rpb25zIHdlcmUgbm9ybWFsaXplZCBmcm9tIDAuMCAodGhlIG1hbnVhbGx5IGRlZmluZWQgY2VudGVyKSB0byAxLjAgKHRoZSBhdmVyYWdlIHJhZGl1cyBpbiBhIHNldCBvZiBzZWN0aW9ucyBhcyBkZXRlcm1pbmVkIGJ5IHRoZSBhdmVyYWdlIGRpc3RhbmNlIG9mIHRoZSBvdXRlcm1vc3QgY2VsbHMgZnJvbSB0aGUgY2VudGVyIGZvciBpbmRpdmlkdWFsIHNlY3Rpb25zKS4gQm94IHBsb3RzIGluZGljYXRlIHRoZSBxdWFydGlsZXMgb2YgdGhlIHJhZGlhbiBkaXN0cmlidXRpb24gZm9yIGVhY2ggY2VsbC10eXBlIGNsYXNzIGFuZCBhcmUgcGxhY2VkIGF0IHRoZSBhdmVyYWdlIHBvc2l0aW9uIG9mIHRoZSBjZWxsIHR5cGUgd2l0aCByZXNwZWN0IHRvIHRoZSB5IGF4aXMuIE91dGxpZXJzIGFyZSBzaG93biBhcyBjaXJjbGVzLg0KICAgICAgICAgICAgICAgIDwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDk8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDk8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5GaWd1cmUgNeKAlGZpZ3VyZSBzdXBwbGVtZW50IDEuIEFuYWx5c2lzIG9mIGNlbGwgbnVtYmVyIGluIGRlZmluZWQgeHlsZW0gcmVnaW9ucyBvZiBkaWZmZXJlbnQgc2l6ZS48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT5DZWxsIG51bWJlciBpbiBhIGNpcmNsZSBvZiAyMDDigJM1MDAgcGl4ZWxzIGFyb3VuZCB0aGUgc2VjdGlvbiBjZW50ZXJzIGZvciBDb2wtMC4gQ2VsbCBjb3VudCBpbiBhIGNvbnN0YW50IGFyZWEgb2YgeHlsZW0gb3ZlciB0aW1lIGFjcm9zcyBhbGwgYXZlcmFnZWQgYWNyb3NzIGFsbCBzZWN0aW9ucy48L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDEwPC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDEwPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDYuIE1hcHBpbmcgb2YgcGhsb2VtIHBvbGUgcGF0dGVybmluZy48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgR2F1c3NpYW4ga2VybmVsIGRlbnNpdHkgZXN0aW1hdGUgb2YgdGhlIGxvY2F0aW9uIG9mIHByZWRpY3RlZCBwaGxvZW0gYnVuZGxlcyBjZWxscyBpbiBhIDMwIGRhZyBDb2wtMCBzZWN0aW9uLiBIaWdoIGRlbnNpdHkgcmVwcmVzZW50cyBwaGxvZW0gcG9sZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgYW4gYW5hbHlzaXMgb2YgZW1lcmdpbmcgcGhsb2VtIHBvbGUgcG9zaXRpb24gaW4gYSAzMCBkYWcgQ29sLTAgc2VjdGlvbi4gVGhlIHBsb3QgcmVwcmVzZW50cyBhIHBpeGVsIGludGVuc2l0eSBtYXAgYWZ0ZXIgbm9pc2UgcmVkdWN0aW9uIGFsb25nIGEgY2lyY3VsYXIgcmVnaW9uIG9mIGludGVyZXN0IGFjcm9zcyB0aGUgZW1lcmdpbmcgcGhsb2VtIHBvbGVzLiBJbnRlbnNpdHkgcGVha3MgYXJlIGR1ZSB0byBHVVMgc3RhaW5pbmcgY29uZmVycmVkIHRvIHBobG9lbSBidW5kbGVzIGJ5IGFuDQogICAgICAgICAgICAgICAgICA8aT5BUEw6OkdVUzwvaT4NCiAgICAgICAgICAgICAgICAgIHJlcG9ydGVyIGNvbnN0cnVjdC4gKA0KICAgICAgICAgICAgICAgICAgPGI+QzwvYj4NCiAgICAgICAgICAgICAgICAgICkgUHJvYmFiaWxpdHkgZGVuc2l0eSBmdW5jdGlvbiBvZiB0aGUgZGF0YSBzaG93biBpbiAoDQogICAgICAgICAgICAgICAgICA8Yj5CPC9iPg0KICAgICAgICAgICAgICAgICAgKSBvYnRhaW5lZCBmcm9tIGFuIGF1dG9tYXRlZCBCYXllc2lhbiBtb2RlbC4gVGhlIGRvbWluYW50IHNpbmdsZSBwZWFrIGluZGljYXRlcyBhIGNvbnN0YW50IGFyYyBkaXN0YW5jZSBvZiBjYS4gNjIgcGl4ZWwgYmV0d2VlbiB0aGUgcGhsb2VtIHBvbGVzLg0KICAgICAgICAgICAgICAgIDwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTE8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTE8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNSZWZlcmVuY2VkQnkiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT4NCiAgICAgICAgICAgICAgICAgIFN1cHBsZW1lbnRhcnkgZmlsZSAxLiAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBBbiBleHBsYW5hdGlvbiBvZiB0aGUgZXh0cmFjdGVkIHBhcmFtZXRlcnMgdGhhdCBkZXNjcmliZSB0aGUgY2VsbHVsYXIgZmVhdHVyZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIFN1bW1hcnkgaW5mb3JtYXRpb24gb2YgdGhlIGhhbmQtbGFiZWxlZCB0cmFpbmluZyBzZXQgZm9yIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZy4gKA0KICAgICAgICAgICAgICAgICAgPGI+QzwvYj4NCiAgICAgICAgICAgICAgICAgICkgRGVmaW5pdGlvbiBvZiB0aGUgY2xhc3NpZmllcnMgc2VsZWN0ZWQgZm9yIGFuYWx5c2lzLiAoDQogICAgICAgICAgICAgICAgICA8Yj5EPC9iPg0KICAgICAgICAgICAgICAgICAgKSBTdW1tYXJ5IG9mIHRoZSBjbGFzc2lmaWVyIHBhcmFtZXRlcnMgZm9yIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZy4gKA0KICAgICAgICAgICAgICAgICAgPGI+RTwvYj4NCiAgICAgICAgICAgICAgICAgICkgT3ZlcnZpZXcgb2YgdGhlIGNlbGwgdHlwZSBjbGFzc2VzIHJlY29nbml6ZWQgYnkgdGhlIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZyBhcHByb2FjaCBhbmQgdGhlaXIgYXNzaWdubWVudCBjb2RlcyB1c2VkIGluIERhdGEgRmlsZXMgMyBhbmQgNC4NCiAgICAgICAgICAgICAgICA8L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMjwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1JlZmVyZW5jZWRCeSI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1lbnRhcnkgZmlsZSAyLiBRdWFsaXR5IGNvbnRyb2wgZmlsZXMgZm9yIHRoZSBDb2wtMCBzZWN0aW9ucy48L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1JlZmVyZW5jZWRCeSI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1lbnRhcnkgZmlsZSAzLiBRdWFsaXR5IGNvbnRyb2wgZmlsZXMgZm9yIHRoZSBMZXIgc2VjdGlvbnMuPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTQ8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTQ8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNSZWZlcmVuY2VkQnkiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5TdXBwbGVtZW50YXJ5IGZpbGUgNC4gVGhlIG5vcm1hbGl6ZWQgdmFsdWVzIG9mIHRoZSBwaGVub3ByaW50cyAoRmlndXJlIDJCKSB1c2VkIGZvciBQQ0EuPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTU8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTU8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT4NCiAgICAgICAgICAgICAgICAgIDxiPkRlY2lzaW9uIGxldHRlcjwvYj4NCiAgICAgICAgICAgICAgICA8L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9InRleHQvcGxhaW4iIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDE2PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDE2PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+DQogICAgICAgICAgICAgICAgICA8Yj5BdXRob3IgcmVzcG9uc2U8L2I+DQogICAgICAgICAgICAgICAgPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJ0ZXh0L3BsYWluIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxNzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxNzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICA8L2NvbXBvbmVudF9saXN0Pg0KICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgIDwvam91cm5hbD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2RvaV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
102
104
  http_version:
103
- recorded_at: Sat, 22 Jul 2017 20:28:50 GMT
105
+ recorded_at: Sat, 29 Jul 2017 13:43:23 GMT
104
106
  recorded_with: VCR 3.0.3
@@ -29,7 +29,7 @@ http_interactions:
29
29
  Content-Type:
30
30
  - application/vnd.api+json; charset=utf-8
31
31
  Date:
32
- - Sat, 22 Jul 2017 20:28:54 GMT
32
+ - Sat, 29 Jul 2017 13:43:26 GMT
33
33
  Etag:
34
34
  - W/"daf85afdb45f3c2713bc7e75916ba82a"
35
35
  Server:
@@ -47,28 +47,26 @@ http_interactions:
47
47
  X-Kong-Proxy-Latency:
48
48
  - '1'
49
49
  X-Kong-Upstream-Latency:
50
- - '786'
50
+ - '557'
51
51
  X-Powered-By:
52
- - Phusion Passenger 5.1.5
52
+ - Phusion Passenger 5.1.6
53
53
  X-Ratelimit-Limit-Hour:
54
54
  - '100000'
55
55
  X-Ratelimit-Remaining-Hour:
56
- - '99941'
56
+ - '99938'
57
57
  X-Request-Id:
58
- - af9e18d0-17c1-4c99-8e4f-8b474cbee5ba
58
+ - 8274390f-26a7-4147-bcec-c0f6bffa22f9
59
59
  X-Runtime:
60
- - '0.758198'
60
+ - '0.555604'
61
61
  X-Xss-Protection:
62
62
  - 1; mode=block
63
- Content-Length:
64
- - '124'
65
63
  Connection:
66
64
  - keep-alive
67
65
  body:
68
66
  encoding: UTF-8
69
67
  string: '{"data":{"id":"10.7554","type":"prefixes","attributes":{"registration-agency":"Crossref","updated":"2016-09-21T21:07:27Z"}}}'
70
68
  http_version:
71
- recorded_at: Sat, 22 Jul 2017 20:28:53 GMT
69
+ recorded_at: Sat, 29 Jul 2017 13:43:26 GMT
72
70
  - request:
73
71
  method: get
74
72
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.7554/elife.01567&noredirect=true&pid=tech@datacite.org
@@ -88,13 +86,13 @@ http_interactions:
88
86
  Server:
89
87
  - Apache-Coyote/1.1
90
88
  Crossref-Deployment-Name:
91
- - cr6-1
89
+ - cr7-1
92
90
  Content-Type:
93
91
  - text/xml;charset=UTF-8
94
92
  Content-Language:
95
93
  - en-US
96
94
  Date:
97
- - Sat, 22 Jul 2017 20:28:53 GMT
95
+ - Sat, 29 Jul 2017 13:43:25 GMT
98
96
  Connection:
99
97
  - close
100
98
  body:
@@ -102,5 +100,5 @@ http_interactions:
102
100
  string: !binary |-
103
101
  PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuNzU1NCIgdGltZXN0YW1wPSIyMDE1LTA4LTExIDA3OjM1OjAyIj4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8am91cm5hbD4NCiAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICA8ZnVsbF90aXRsZT5lTGlmZTwvZnVsbF90aXRsZT4NCiAgICAgICAgICA8aXNzbiBtZWRpYV90eXBlPSJlbGVjdHJvbmljIj4yMDUwLTA4NFg8L2lzc24+DQogICAgICAgIDwvam91cm5hbF9tZXRhZGF0YT4NCiAgICAgICAgPGpvdXJuYWxfaXNzdWU+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8am91cm5hbF92b2x1bWU+DQogICAgICAgICAgICA8dm9sdW1lPjM8L3ZvbHVtZT4NCiAgICAgICAgICA8L2pvdXJuYWxfdm9sdW1lPg0KICAgICAgICA8L2pvdXJuYWxfaXNzdWU+DQogICAgICAgIDxqb3VybmFsX2FydGljbGUgcHVibGljYXRpb25fdHlwZT0iZnVsbF90ZXh0Ij4NCiAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgPHRpdGxlPkF1dG9tYXRlZCBxdWFudGl0YXRpdmUgaGlzdG9sb2d5IHJldmVhbHMgdmFzY3VsYXIgbW9ycGhvZHluYW1pY3MgZHVyaW5nIEFyYWJpZG9wc2lzIGh5cG9jb3R5bCBzZWNvbmRhcnkgZ3Jvd3RoPC90aXRsZT4NCiAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICA8Y29udHJpYnV0b3JzPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TWFydGlhbDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+U2Fua2FyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+S2Fpc2E8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPk5pZW1pbmVuPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TGF1cmE8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPlJhZ25pPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+SW9hbm5pczwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+WGVuYXJpb3M8L3N1cm5hbWU+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5DaHJpc3RpYW4gUzwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+SGFyZHRrZTwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8cHVibGlzaGVyX2l0ZW0+DQogICAgICAgICAgICA8aWRlbnRpZmllciBpZF90eXBlPSJkb2kiPjEwLjc1NTQvZUxpZmUuMDE1Njc8L2lkZW50aWZpZXI+DQogICAgICAgICAgPC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAgICAgICAgICAgPGNyb3NzbWFya192ZXJzaW9uPjE8L2Nyb3NzbWFya192ZXJzaW9uPg0KICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+ZUxpZmVzY2llbmNlczwvY3Jvc3NtYXJrX3BvbGljeT4NCiAgICAgICAgICAgIDxjcm9zc21hcmtfZG9tYWlucz4NCiAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICAgICAgPGRvbWFpbj53d3cuZWxpZmVzY2llbmNlcy5vcmc8L2RvbWFpbj4NCiAgICAgICAgICAgICAgPC9jcm9zc21hcmtfZG9tYWluPg0KICAgICAgICAgICAgPC9jcm9zc21hcmtfZG9tYWlucz4NCiAgICAgICAgICAgIDxjcm9zc21hcmtfZG9tYWluX2V4Y2x1c2l2ZT5mYWxzZTwvY3Jvc3NtYXJrX2RvbWFpbl9leGNsdXNpdmU+DQogICAgICAgICAgICA8Y3VzdG9tX21ldGFkYXRhPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9InJlY2VpdmVkIiBsYWJlbD0iUmVjZWl2ZWQiIGdyb3VwX25hbWU9InB1YmxpY2F0aW9uX2hpc3RvcnkiIGdyb3VwX2xhYmVsPSJQdWJsaWNhdGlvbiBIaXN0b3J5IiBvcmRlcj0iMCI+MjAxMy0wOS0yMDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImFjY2VwdGVkIiBsYWJlbD0iQWNjZXB0ZWQiIGdyb3VwX25hbWU9InB1YmxpY2F0aW9uX2hpc3RvcnkiIGdyb3VwX2xhYmVsPSJQdWJsaWNhdGlvbiBIaXN0b3J5IiBvcmRlcj0iMSI+MjAxMy0xMi0yNDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9InB1Ymxpc2hlZCIgbGFiZWw9IlB1Ymxpc2hlZCIgZ3JvdXBfbmFtZT0icHVibGljYXRpb25faGlzdG9yeSIgZ3JvdXBfbGFiZWw9IlB1YmxpY2F0aW9uIEhpc3RvcnkiIG9yZGVyPSIyIj4yMDE0LTAyLTExPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDxwcm9ncmFtIG5hbWU9ImZ1bmRyZWYiPg0KICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX25hbWUiPlN5c3RlbXNYPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIEVNQk8NCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDAzMDQzPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgU3dpc3MgTmF0aW9uYWwgU2NpZW5jZSBGb3VuZGF0aW9uDQogICAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX2lkZW50aWZpZXIiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEzMDM5LzUwMTEwMDAwMTcxMTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIFVuaXZlcnNpdHkgb2YgTGF1c2FubmUNCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciIgcHJvdmlkZXI9ImNyb3NzcmVmIj5odHRwOi8vZHguZG9pLm9yZy8xMC4xMzAzOS81MDExMDAwMDYzOTA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8L3Byb2dyYW0+DQogICAgICAgICAgICAgIDxwcm9ncmFtIG5hbWU9IkFjY2Vzc0luZGljYXRvcnMiPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJ2b3IiPmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC88L2xpY2Vuc2VfcmVmPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJhbSI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFwcGxpZXNfdG89InRkbSI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICAgIDwvcHJvZ3JhbT4NCiAgICAgICAgICAgIDwvY3VzdG9tX21ldGFkYXRhPg0KICAgICAgICAgIDwvY3Jvc3NtYXJrPg0KICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2NzwvZG9pPg0KICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1Njc8L3Jlc291cmNlPg0KICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgPGNpdGF0aW9uX2xpc3Q+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkJvbmtlPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+NDI2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE4MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbmF0dXJlMDIxMDA8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+R2VuZXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+QnJlbm5lcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40MTM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xNTM0L2dlbmV0aWNzLjEwOS4xMDQ5NzY8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIzIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGh5c2lvbG9naWEgUGxhbnRhcnVtPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkNoYWZmZXk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMTQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTk0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAzNC9qLjEzOTktMzA1NC4yMDAyLjExNDA0MTMueDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OZXVyYWwgY29tcHV0YXRpb248L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Q2hhbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMTE5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTE2Mi8wODk5NzY2MDE3NTAzOTkzMzU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI1Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWFjaGluZSBMZWFybmluZzwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Db3J0ZXM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNzM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk1PC9jWWVhcj4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI2Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RG9sYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMTk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NzE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTkzPC9jWWVhcj4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U2VtaW5hcnMgaW4gQ2VsbCAmYW1wOyBEZXZlbG9wbWVudGFsIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RWxvPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTA5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDk8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5zZW1jZGIuMjAwOS4wOS4wMDk8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RXRjaGVsbHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjIyNDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEyNDIvZGV2LjA5MTMxNDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjkiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QTE9TIEdlbmV0aWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkV0Y2hlbGxzPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+ODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT5lMTAwMjk5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEzNzEvam91cm5hbC5wZ2VuLjEwMDI5OTc8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbGVjdWxhciBTeXN0ZW1zIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RnVjaHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT42PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM3MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTA8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbXNiLjIwMTAuMjU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpbyBTeXN0ZW1zPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkdyYW5xdmlzdDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjExMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5iaW9zeXN0ZW1zLjIwMTIuMDcuMDA0PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTIiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DdXJyZW50IE9waW5pb24gaW4gUGxhbnQgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Hcm9vdmVyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5wYmkuMjAwNS4xMS4wMTM8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SGlyYWthd2E8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjE4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNS90cGMuMTEwLjA3NjA4MzwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjE0Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvY2VlZGluZ3Mgb2YgdGhlIE5hdGlvbmFsIEFjYWRlbXkgb2YgU2NpZW5jZXMgb2YgdGhlIFVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5IaXJha2F3YTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjEwNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTIwODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwNzMvcG5hcy4wODA4NDQ0MTA1PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTUiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1leWVyb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT41Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTg5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2LzAwOTItODY3NCg4OSk5MDkwMC04PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbmNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1leWVyb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yOTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTQ4MjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjExMjYvc2NpZW5jZS4xMDY2NjA5PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTciPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QbGFudCBQaHlzaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk5pZW1pbmVuPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTM1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjY1MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjExMDQvcHAuMTA0LjA0MDIxMjwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjE4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIEJpb3RlY2hub2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Tm9ibGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTY1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAzOC9uYnQxMjA2LTE1NjU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxOSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb2NlZWRpbmdzIG9mIHRoZSBOYXRpb25hbCBBY2FkZW15IG9mIFNjaWVuY2VzIG9mIHRoZSBVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2E8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+T2xzb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT43Nzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTE2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk4MDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTA3My9wbmFzLjc3LjMuMTUxNjwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIwIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvaW5mb3JtYXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UGF1PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTc5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTA5My9iaW9pbmZvcm1hdGljcy9idHEwNDY8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UmFnbmk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMzIyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNS90cGMuMTExLjA4NDAyMDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIyIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TYW5rYXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjUwNjEvZHJ5YWQuYjgzNWs8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkN1cnJlbnQgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TaWJvdXQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40NTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA4PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouY3ViLjIwMDguMDIuMDcwPC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5UaGUgTmV3IFBoeXRvbG9naXN0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlNwaWNlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41Nzc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMTExL2ouMTQ2OS04MTM3LjIwMTAuMDMyMzYueDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjI1Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWFjaGluZSBWaXNpb24gYW5kIEFwcGxpY2F0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5UaGVyaWF1bHQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42NTk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDA3L3MwMDEzOC0wMTEtMDM0NS05PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlV5dHRld2FhbDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE0OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40Mzk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouY2VsbC4yMDEyLjAyLjA0ODwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjI3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIENlbGwgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5ZaW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT44NjA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDM4L25jYjI3NjQ8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICAgIDxjb21wb25lbnRfbGlzdD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPg0KICAgICAgICAgICAgICAgICAgPGI+QWJzdHJhY3Q8L2I+DQogICAgICAgICAgICAgICAgPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJ0ZXh0L3BsYWluIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwMTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPg0KICAgICAgICAgICAgICAgICAgPGI+ZUxpZmUgZGlnZXN0PC9iPg0KICAgICAgICAgICAgICAgIDwvdGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0idGV4dC9wbGFpbiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDI8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDI8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5GaWd1cmUgMS4gQ2VsbHVsYXIgbGV2ZWwgYW5hbHlzaXMgb2YgQXJhYmlkb3BzaXMgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGguPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+DQogICAgICAgICAgICAgICAgICAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBMaWdodCBtaWNyb3Njb3B5IG9mIGNyb3NzIHNlY3Rpb25zIG9idGFpbmVkIGZyb20gQXJhYmlkb3BzaXMgaHlwb2NvdHlscyAob3JnYW4gcG9zaXRpb24gaWxsdXN0cmF0ZWQgZm9yIGEgOS1kYXktb2xkIHNlZWRsaW5nLCBsb3dlciBsZWZ0KSBhdCA5IGRhZyAodXBwZXIgbGVmdCkgYW5kIDM1IGRhZyAocmlnaHQpLiBTaXplIGJhcnMgYXJlIDEwMCDOvG0uIEJsdWUgR1VTIHN0YWluaW5nIGR1ZSB0byB0aGUgcHJlc2VuY2Ugb2YgYW4NCiAgICAgICAgICAgICAgICAgIDxpPkFQTDo6R1VTPC9pPg0KICAgICAgICAgICAgICAgICAgcmVwb3J0ZXIgZ2VuZSBpbiB0aGlzIENvbC0wIGJhY2tncm91bmQgbGluZSBtYXJrcyBwaGxvZW0gYnVuZGxlcy4gKA0KICAgICAgICAgICAgICAgICAgPGI+QjwvYj4NCiAgICAgICAgICAgICAgICAgICkgT3ZlcnZpZXcgb2YgdGhlIGRldmVsb3BtZW50YWwgc2VyaWVzICh0aW1lIHBvaW50cyBhbmQgZGlzdGluY3Qgc2FtcGxlcyBwZXIgZ2Vub3R5cGUpIGFuYWx5emVkIGluIHRoaXMgc3R1ZHkuICgNCiAgICAgICAgICAgICAgICAgIDxiPkM8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgYSBoaWdoLXJlc29sdXRpb24gaHlwb2NvdHlsIHNlY3Rpb24gaW1hZ2UgYXNzZW1ibGVkIGZyb20gMTEgw5cgMTEgdGlsZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkQ8L2I+DQogICAgICAgICAgICAgICAgICApIFRoZSBzYW1lIGltYWdlIGFmdGVyIHByZS1wcm9jZXNzaW5nIGFuZCBiaW5hcml6YXRpb24sIGFuZCAoDQogICAgICAgICAgICAgICAgICA8Yj5FPC9iPg0KICAgICAgICAgICAgICAgICAgKSBzdWJzZXF1ZW50IHNlZ21lbnRhdGlvbiB1c2luZyBhIHdhdGVyc2hlZCBhbGdvcml0aG0uICgNCiAgICAgICAgICAgICAgICAgIDxiPkY8L2I+DQogICAgICAgICAgICAgICAgICApIE51bWJlciBvZiBtaXMtc2VnbWVudGVkIGNlbGxzIGFzIGRldGVybWluZWQgYnkgY2FyZWZ1bCB2aXN1YWwgaW5zcGVjdGlvbiBpbiAxMiBzZWN0aW9ucywgcGxvdHRlZCBhZ2FpbnN0IHRoZSB0b3RhbCBudW1iZXIgb2YgY2VsbHMgcGVyIHNlY3Rpb24gKGxvZyBzY2FsZSkuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwMzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAyLiBUaGUg4oCYUXVhbnRpdGF0aXZlIEhpc3RvbG9neeKAmSBhcHByb2FjaC48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIE92ZXJ2aWV3IG9mIHRoZSBjb21wdXRhdGlvbmFsIHBpcGVsaW5lIGZyb20gaW1hZ2UgYWNxdWlzaXRpb24gdG8gYW5hbHlzaXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIOKAmFBoZW5vcHJpbnRz4oCZIGZvciB0aGUgZGlmZmVyZW50IGdlbm90eXBlcyBhbmQgZGV2ZWxvcG1lbnRhbCBzdGFnZXMuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNDwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNDwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAy4oCUZmlndXJlIHN1cHBsZW1lbnQgMS4gQW4gZXhhbXBsZSBvZiBjbGFzc2lmaWVyIHNlbGVjdGlvbiB0aHJvdWdoIFYtZm9sZCBjcm9zcyB2YWxpZGF0aW9uLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPlRoZSBncmVlbiBhcnJvdyBwb2ludHMgb3V0IHRoZSBzZWxlY3RlZCBmZWF0dXJlIGNvbWJpbmF0aW9uIGFjY29yZGluZyB0byB0aGUgY3JpdGVyaWEgb2YgbWluaW11bSBudW1iZXIgb2YgZmVhdHVyZXMgd2l0aCB0aGUgaGlnaGVzdCBwZXJmb3JtYW5jZSBhbmQgdGhlIGxvd2VzdCB2YXJpYXRpb24gKHRoZSByYWRpdXNWIGZlYXR1cmUgd2FzIGV4Y2x1ZGVkIGR1ZSB0byBpdHMgcHV0YXRpdmUgdmFyaWF0aW9uIGluIHRpc3N1ZSBsb2NhdGlvbikuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAzLiBQcm9ncmVzc2lvbiBvZiB0aXNzdWUgcHJvbGlmZXJhdGlvbi48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIFByaW5jaXBhbCBjb21wb25lbnQgYW5hbHlzaXMgKFBDQSkgb2YgdGhlIHBoZW5vcHJpbnRzIHNob3duIGluIEZpZ3VyZSAyQiwgcGVyZm9ybWVkIHdpdGggbm9ybWFsaXplZCB2YWx1ZXMgKFN1cHBsZW1lbnRhcnkgZmlsZSA0KS4gVGhlIGlubGF5IHNjcmVlcGxvdCBkaXNwbGF5cyB0aGUgcHJvcG9ydGlvbiBvZiB0b3RhbCB2YXJpYXRpb24gZXhwbGFpbmVkIGJ5IGVhY2ggcHJpbmNpcGFsIGNvbXBvbmVudC4gKA0KICAgICAgICAgICAgICAgICAgPGI+QuKAk0U8L2I+DQogICAgICAgICAgICAgICAgICApIENvbXBhcmF0aXZlIHBsb3RzIG9mIHBhcmFtZXRlciBwcm9ncmVzc2lvbiBpbiB0aGUgdHdvIGdlbm90eXBlcy4gSW4gKA0KICAgICAgICAgICAgICAgICAgPGI+RDwvYj4NCiAgICAgICAgICAgICAgICAgICksIHh5bGVtIHJlcHJlc2VudHMgY29tYmluZWQgdmVzc2VsLCBwYXJlbmNoeW1hLCBhbmQgZmliZXIgY2VsbHMsIHBobG9lbSByZXByZXNlbnRzIGNvbWJpbmVkIHBobG9lbSBwYXJlbmNoeW1hIGFuZCBidW5kbGUgY2VsbHMuIEVycm9yIGJhcnMgaW5kaWNhdGUgc3RhbmRhcmQgZXJyb3IuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNjwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSA0LiBCaW1vZGFsIGRpc3RyaWJ1dGlvbiBvZiBpbmNsaW5lIGFuZ2xlIGFjY29yZGluZyB0byBwb3NpdGlvbi48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICBhbmQNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIFNwYXRpYWwgZGlzdHJpYnV0aW9uIG9mIGNlbGwgaW5jbGluZSBhbmdsZSBpbGx1c3RyYXRlcyB0aGUgdmFzY3VsYXIgb3JnYW5pemF0aW9uIGluIExlciAoDQogICAgICAgICAgICAgICAgICA8Yj5CPC9iPg0KICAgICAgICAgICAgICAgICAgKSBhcyBjb21wYXJlZCB0byBDb2wtMCAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBhdCBsYXRlciBzdGFnZXMgb2YgZGV2ZWxvcG1lbnQsIGZvciBleGFtcGxlIDMwIGRhZy4gVGhlIHNpemUgb2YgdGhlIGRpc2MgaW5jcmVhc2VzIHdpdGggdGhlIGFyZWEgb2YgdGhlIGNlbGwuIEJsdWUgY29sb3IgaW5kaWNhdGVzIHJhZGlhbCBjZWxsIG9yaWVudGF0aW9uLCByZWQgb3J0aG9yYWRpYWwuICgNCiAgICAgICAgICAgICAgICAgIDxiPkM8L2I+DQogICAgICAgICAgICAgICAgICBhbmQNCiAgICAgICAgICAgICAgICAgIDxiPkQ8L2I+DQogICAgICAgICAgICAgICAgICApIFZpb2xpbiBwbG90cyBvZiBpbmNsaW5lIGFuZ2xlIGRpc3RyaWJ1dGlvbiwgaWxsdXN0cmF0aW5nIGluY3JlYXNpbmdseSBiaW1vZGFsIGRpc3RyaWJ1dGlvbiBjb2luY2lkZW50IHdpdGggcmVmaW5lZCB2YXNjdWxhciBvcmdhbml6YXRpb24gYW5kIGRpZmZlcmVudCBkeW5hbWljcyBvZiB0aGUgcHJvY2VzcyBpbiB0aGUgdHdvIGdlbm90eXBlcy4NCiAgICAgICAgICAgICAgICA8L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDA3PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDA3PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDTigJRmaWd1cmUgc3VwcGxlbWVudCAxLiBBbiBpbGx1c3RyYXRpb24gb2YgdGhlIGluY2xpbmUgYW5nbGUuPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+VGhlIGluY2xpbmUgaXMgdGhlIGFuZ2xlIGJldHdlZW4gdGhlIHNlY3Rpb24gcmFkaXVzIHRocm91Z2ggdGhlIGNlbnRlciBvZiBhbiBlbGxpcHNlIGZpdCB0byBhIGNlbGwgYW5kIHRoZSBtYWpvciBheGlzIG9mIHRoYXQgZWxsaXBzZSBleHRlbmRlZCB0b3dhcmRzIHRoZSB4IGF4aXMuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwODwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwODwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSA1LiBEaXN0aW5jdCBsb2NhbCBvcmdhbml6YXRpb24gb2YgaW5jbGluZSBhbmdsZSBkdXJpbmcgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGggcHJvZ3Jlc3Npb24uPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+DQogICAgICAgICAgICAgICAgICAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAg4oCTDQogICAgICAgICAgICAgICAgICA8Yj5KPC9iPg0KICAgICAgICAgICAgICAgICAgKSBEZW5zaXR5IHBsb3RzIG9mIGNlbGwgaW5jbGluZSBhbmdsZSB2cyByYWRpYWwgcG9zaXRpb24gZm9yIHRoZSB0d28gZ2Vub3R5cGVzIGF0IHRoZSBpbmRpY2F0ZWQgZGV2ZWxvcG1lbnRhbCBzdGFnZXMsIHJlcHJlc2VudGluZyBhbGwgY2VsbHMgYWNyb3NzIGFsbCBzZWN0aW9ucyBmb3IgYSBnaXZlbiB0aW1lIHBvaW50LiBUaGUgcmVkIGxpbmVzIHJlcHJlc2VudCB0aGUgZml0IG9mIHRoZXNlIGNsb3VkIGRpc3RyaWJ1dGlvbnMgd2l0aCBsb2NhbGx5IHdlaWdodGVkIGxpbmVhciByZWdyZXNzaW9uIChpLmUuLCBsb3dlc3MpLCByZXZlYWxpbmcgdGhlIGVzc2VudGlhbCBkYXRhIHRyZW5kcy4gQWxsIHNlY3Rpb25zIHdlcmUgbm9ybWFsaXplZCBmcm9tIDAuMCAodGhlIG1hbnVhbGx5IGRlZmluZWQgY2VudGVyKSB0byAxLjAgKHRoZSBhdmVyYWdlIHJhZGl1cyBpbiBhIHNldCBvZiBzZWN0aW9ucyBhcyBkZXRlcm1pbmVkIGJ5IHRoZSBhdmVyYWdlIGRpc3RhbmNlIG9mIHRoZSBvdXRlcm1vc3QgY2VsbHMgZnJvbSB0aGUgY2VudGVyIGZvciBpbmRpdmlkdWFsIHNlY3Rpb25zKS4gQm94IHBsb3RzIGluZGljYXRlIHRoZSBxdWFydGlsZXMgb2YgdGhlIHJhZGlhbiBkaXN0cmlidXRpb24gZm9yIGVhY2ggY2VsbC10eXBlIGNsYXNzIGFuZCBhcmUgcGxhY2VkIGF0IHRoZSBhdmVyYWdlIHBvc2l0aW9uIG9mIHRoZSBjZWxsIHR5cGUgd2l0aCByZXNwZWN0IHRvIHRoZSB5IGF4aXMuIE91dGxpZXJzIGFyZSBzaG93biBhcyBjaXJjbGVzLg0KICAgICAgICAgICAgICAgIDwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDk8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDk8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5GaWd1cmUgNeKAlGZpZ3VyZSBzdXBwbGVtZW50IDEuIEFuYWx5c2lzIG9mIGNlbGwgbnVtYmVyIGluIGRlZmluZWQgeHlsZW0gcmVnaW9ucyBvZiBkaWZmZXJlbnQgc2l6ZS48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT5DZWxsIG51bWJlciBpbiBhIGNpcmNsZSBvZiAyMDDigJM1MDAgcGl4ZWxzIGFyb3VuZCB0aGUgc2VjdGlvbiBjZW50ZXJzIGZvciBDb2wtMC4gQ2VsbCBjb3VudCBpbiBhIGNvbnN0YW50IGFyZWEgb2YgeHlsZW0gb3ZlciB0aW1lIGFjcm9zcyBhbGwgYXZlcmFnZWQgYWNyb3NzIGFsbCBzZWN0aW9ucy48L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDEwPC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDEwPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDYuIE1hcHBpbmcgb2YgcGhsb2VtIHBvbGUgcGF0dGVybmluZy48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgR2F1c3NpYW4ga2VybmVsIGRlbnNpdHkgZXN0aW1hdGUgb2YgdGhlIGxvY2F0aW9uIG9mIHByZWRpY3RlZCBwaGxvZW0gYnVuZGxlcyBjZWxscyBpbiBhIDMwIGRhZyBDb2wtMCBzZWN0aW9uLiBIaWdoIGRlbnNpdHkgcmVwcmVzZW50cyBwaGxvZW0gcG9sZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgYW4gYW5hbHlzaXMgb2YgZW1lcmdpbmcgcGhsb2VtIHBvbGUgcG9zaXRpb24gaW4gYSAzMCBkYWcgQ29sLTAgc2VjdGlvbi4gVGhlIHBsb3QgcmVwcmVzZW50cyBhIHBpeGVsIGludGVuc2l0eSBtYXAgYWZ0ZXIgbm9pc2UgcmVkdWN0aW9uIGFsb25nIGEgY2lyY3VsYXIgcmVnaW9uIG9mIGludGVyZXN0IGFjcm9zcyB0aGUgZW1lcmdpbmcgcGhsb2VtIHBvbGVzLiBJbnRlbnNpdHkgcGVha3MgYXJlIGR1ZSB0byBHVVMgc3RhaW5pbmcgY29uZmVycmVkIHRvIHBobG9lbSBidW5kbGVzIGJ5IGFuDQogICAgICAgICAgICAgICAgICA8aT5BUEw6OkdVUzwvaT4NCiAgICAgICAgICAgICAgICAgIHJlcG9ydGVyIGNvbnN0cnVjdC4gKA0KICAgICAgICAgICAgICAgICAgPGI+QzwvYj4NCiAgICAgICAgICAgICAgICAgICkgUHJvYmFiaWxpdHkgZGVuc2l0eSBmdW5jdGlvbiBvZiB0aGUgZGF0YSBzaG93biBpbiAoDQogICAgICAgICAgICAgICAgICA8Yj5CPC9iPg0KICAgICAgICAgICAgICAgICAgKSBvYnRhaW5lZCBmcm9tIGFuIGF1dG9tYXRlZCBCYXllc2lhbiBtb2RlbC4gVGhlIGRvbWluYW50IHNpbmdsZSBwZWFrIGluZGljYXRlcyBhIGNvbnN0YW50IGFyYyBkaXN0YW5jZSBvZiBjYS4gNjIgcGl4ZWwgYmV0d2VlbiB0aGUgcGhsb2VtIHBvbGVzLg0KICAgICAgICAgICAgICAgIDwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTE8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTE8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNSZWZlcmVuY2VkQnkiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT4NCiAgICAgICAgICAgICAgICAgIFN1cHBsZW1lbnRhcnkgZmlsZSAxLiAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBBbiBleHBsYW5hdGlvbiBvZiB0aGUgZXh0cmFjdGVkIHBhcmFtZXRlcnMgdGhhdCBkZXNjcmliZSB0aGUgY2VsbHVsYXIgZmVhdHVyZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIFN1bW1hcnkgaW5mb3JtYXRpb24gb2YgdGhlIGhhbmQtbGFiZWxlZCB0cmFpbmluZyBzZXQgZm9yIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZy4gKA0KICAgICAgICAgICAgICAgICAgPGI+QzwvYj4NCiAgICAgICAgICAgICAgICAgICkgRGVmaW5pdGlvbiBvZiB0aGUgY2xhc3NpZmllcnMgc2VsZWN0ZWQgZm9yIGFuYWx5c2lzLiAoDQogICAgICAgICAgICAgICAgICA8Yj5EPC9iPg0KICAgICAgICAgICAgICAgICAgKSBTdW1tYXJ5IG9mIHRoZSBjbGFzc2lmaWVyIHBhcmFtZXRlcnMgZm9yIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZy4gKA0KICAgICAgICAgICAgICAgICAgPGI+RTwvYj4NCiAgICAgICAgICAgICAgICAgICkgT3ZlcnZpZXcgb2YgdGhlIGNlbGwgdHlwZSBjbGFzc2VzIHJlY29nbml6ZWQgYnkgdGhlIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZyBhcHByb2FjaCBhbmQgdGhlaXIgYXNzaWdubWVudCBjb2RlcyB1c2VkIGluIERhdGEgRmlsZXMgMyBhbmQgNC4NCiAgICAgICAgICAgICAgICA8L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMjwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1JlZmVyZW5jZWRCeSI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1lbnRhcnkgZmlsZSAyLiBRdWFsaXR5IGNvbnRyb2wgZmlsZXMgZm9yIHRoZSBDb2wtMCBzZWN0aW9ucy48L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1JlZmVyZW5jZWRCeSI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1lbnRhcnkgZmlsZSAzLiBRdWFsaXR5IGNvbnRyb2wgZmlsZXMgZm9yIHRoZSBMZXIgc2VjdGlvbnMuPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTQ8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTQ8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNSZWZlcmVuY2VkQnkiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5TdXBwbGVtZW50YXJ5IGZpbGUgNC4gVGhlIG5vcm1hbGl6ZWQgdmFsdWVzIG9mIHRoZSBwaGVub3ByaW50cyAoRmlndXJlIDJCKSB1c2VkIGZvciBQQ0EuPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTU8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTU8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT4NCiAgICAgICAgICAgICAgICAgIDxiPkRlY2lzaW9uIGxldHRlcjwvYj4NCiAgICAgICAgICAgICAgICA8L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9InRleHQvcGxhaW4iIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDE2PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDE2PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+DQogICAgICAgICAgICAgICAgICA8Yj5BdXRob3IgcmVzcG9uc2U8L2I+DQogICAgICAgICAgICAgICAgPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJ0ZXh0L3BsYWluIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxNzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxNzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICA8L2NvbXBvbmVudF9saXN0Pg0KICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgIDwvam91cm5hbD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2RvaV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
104
102
  http_version:
105
- recorded_at: Sat, 22 Jul 2017 20:28:53 GMT
103
+ recorded_at: Sat, 29 Jul 2017 13:43:26 GMT
106
104
  recorded_with: VCR 3.0.3
@@ -29,7 +29,7 @@ http_interactions:
29
29
  Content-Type:
30
30
  - application/vnd.api+json; charset=utf-8
31
31
  Date:
32
- - Sat, 22 Jul 2017 20:28:56 GMT
32
+ - Sat, 29 Jul 2017 13:43:26 GMT
33
33
  Etag:
34
34
  - W/"daf85afdb45f3c2713bc7e75916ba82a"
35
35
  Server:
@@ -47,17 +47,17 @@ http_interactions:
47
47
  X-Kong-Proxy-Latency:
48
48
  - '1'
49
49
  X-Kong-Upstream-Latency:
50
- - '740'
50
+ - '231'
51
51
  X-Powered-By:
52
- - Phusion Passenger 5.1.5
52
+ - Phusion Passenger 5.1.6
53
53
  X-Ratelimit-Limit-Hour:
54
54
  - '100000'
55
55
  X-Ratelimit-Remaining-Hour:
56
- - '99939'
56
+ - '99937'
57
57
  X-Request-Id:
58
- - 9925ee53-ebb1-4910-812f-8a6e7de5166e
58
+ - e788c530-fb28-4efb-9677-80b6ff4d149a
59
59
  X-Runtime:
60
- - '0.738538'
60
+ - '0.228844'
61
61
  X-Xss-Protection:
62
62
  - 1; mode=block
63
63
  Content-Length:
@@ -68,7 +68,7 @@ http_interactions:
68
68
  encoding: UTF-8
69
69
  string: '{"data":{"id":"10.7554","type":"prefixes","attributes":{"registration-agency":"Crossref","updated":"2016-09-21T21:07:27Z"}}}'
70
70
  http_version:
71
- recorded_at: Sat, 22 Jul 2017 20:28:55 GMT
71
+ recorded_at: Sat, 29 Jul 2017 13:43:26 GMT
72
72
  - request:
73
73
  method: get
74
74
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.7554/elife.01567&noredirect=true&pid=tech@datacite.org
@@ -88,13 +88,13 @@ http_interactions:
88
88
  Server:
89
89
  - Apache-Coyote/1.1
90
90
  Crossref-Deployment-Name:
91
- - qs3-1
91
+ - cr6-1
92
92
  Content-Type:
93
93
  - text/xml;charset=UTF-8
94
94
  Content-Language:
95
95
  - en-US
96
96
  Date:
97
- - Sat, 22 Jul 2017 20:28:56 GMT
97
+ - Sat, 29 Jul 2017 13:43:27 GMT
98
98
  Connection:
99
99
  - close
100
100
  body:
@@ -102,5 +102,5 @@ http_interactions:
102
102
  string: !binary |-
103
103
  PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuNzU1NCIgdGltZXN0YW1wPSIyMDE1LTA4LTExIDA3OjM1OjAyIj4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8am91cm5hbD4NCiAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICA8ZnVsbF90aXRsZT5lTGlmZTwvZnVsbF90aXRsZT4NCiAgICAgICAgICA8aXNzbiBtZWRpYV90eXBlPSJlbGVjdHJvbmljIj4yMDUwLTA4NFg8L2lzc24+DQogICAgICAgIDwvam91cm5hbF9tZXRhZGF0YT4NCiAgICAgICAgPGpvdXJuYWxfaXNzdWU+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8am91cm5hbF92b2x1bWU+DQogICAgICAgICAgICA8dm9sdW1lPjM8L3ZvbHVtZT4NCiAgICAgICAgICA8L2pvdXJuYWxfdm9sdW1lPg0KICAgICAgICA8L2pvdXJuYWxfaXNzdWU+DQogICAgICAgIDxqb3VybmFsX2FydGljbGUgcHVibGljYXRpb25fdHlwZT0iZnVsbF90ZXh0Ij4NCiAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgPHRpdGxlPkF1dG9tYXRlZCBxdWFudGl0YXRpdmUgaGlzdG9sb2d5IHJldmVhbHMgdmFzY3VsYXIgbW9ycGhvZHluYW1pY3MgZHVyaW5nIEFyYWJpZG9wc2lzIGh5cG9jb3R5bCBzZWNvbmRhcnkgZ3Jvd3RoPC90aXRsZT4NCiAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICA8Y29udHJpYnV0b3JzPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TWFydGlhbDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+U2Fua2FyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+S2Fpc2E8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPk5pZW1pbmVuPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TGF1cmE8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPlJhZ25pPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+SW9hbm5pczwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+WGVuYXJpb3M8L3N1cm5hbWU+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5DaHJpc3RpYW4gUzwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+SGFyZHRrZTwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8cHVibGlzaGVyX2l0ZW0+DQogICAgICAgICAgICA8aWRlbnRpZmllciBpZF90eXBlPSJkb2kiPjEwLjc1NTQvZUxpZmUuMDE1Njc8L2lkZW50aWZpZXI+DQogICAgICAgICAgPC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAgICAgICAgICAgPGNyb3NzbWFya192ZXJzaW9uPjE8L2Nyb3NzbWFya192ZXJzaW9uPg0KICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+ZUxpZmVzY2llbmNlczwvY3Jvc3NtYXJrX3BvbGljeT4NCiAgICAgICAgICAgIDxjcm9zc21hcmtfZG9tYWlucz4NCiAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICAgICAgPGRvbWFpbj53d3cuZWxpZmVzY2llbmNlcy5vcmc8L2RvbWFpbj4NCiAgICAgICAgICAgICAgPC9jcm9zc21hcmtfZG9tYWluPg0KICAgICAgICAgICAgPC9jcm9zc21hcmtfZG9tYWlucz4NCiAgICAgICAgICAgIDxjcm9zc21hcmtfZG9tYWluX2V4Y2x1c2l2ZT5mYWxzZTwvY3Jvc3NtYXJrX2RvbWFpbl9leGNsdXNpdmU+DQogICAgICAgICAgICA8Y3VzdG9tX21ldGFkYXRhPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9InJlY2VpdmVkIiBsYWJlbD0iUmVjZWl2ZWQiIGdyb3VwX25hbWU9InB1YmxpY2F0aW9uX2hpc3RvcnkiIGdyb3VwX2xhYmVsPSJQdWJsaWNhdGlvbiBIaXN0b3J5IiBvcmRlcj0iMCI+MjAxMy0wOS0yMDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImFjY2VwdGVkIiBsYWJlbD0iQWNjZXB0ZWQiIGdyb3VwX25hbWU9InB1YmxpY2F0aW9uX2hpc3RvcnkiIGdyb3VwX2xhYmVsPSJQdWJsaWNhdGlvbiBIaXN0b3J5IiBvcmRlcj0iMSI+MjAxMy0xMi0yNDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9InB1Ymxpc2hlZCIgbGFiZWw9IlB1Ymxpc2hlZCIgZ3JvdXBfbmFtZT0icHVibGljYXRpb25faGlzdG9yeSIgZ3JvdXBfbGFiZWw9IlB1YmxpY2F0aW9uIEhpc3RvcnkiIG9yZGVyPSIyIj4yMDE0LTAyLTExPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDxwcm9ncmFtIG5hbWU9ImZ1bmRyZWYiPg0KICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX25hbWUiPlN5c3RlbXNYPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIEVNQk8NCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDAzMDQzPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgU3dpc3MgTmF0aW9uYWwgU2NpZW5jZSBGb3VuZGF0aW9uDQogICAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX2lkZW50aWZpZXIiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEzMDM5LzUwMTEwMDAwMTcxMTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIFVuaXZlcnNpdHkgb2YgTGF1c2FubmUNCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciIgcHJvdmlkZXI9ImNyb3NzcmVmIj5odHRwOi8vZHguZG9pLm9yZy8xMC4xMzAzOS81MDExMDAwMDYzOTA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8L3Byb2dyYW0+DQogICAgICAgICAgICAgIDxwcm9ncmFtIG5hbWU9IkFjY2Vzc0luZGljYXRvcnMiPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJ2b3IiPmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC88L2xpY2Vuc2VfcmVmPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJhbSI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFwcGxpZXNfdG89InRkbSI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICAgIDwvcHJvZ3JhbT4NCiAgICAgICAgICAgIDwvY3VzdG9tX21ldGFkYXRhPg0KICAgICAgICAgIDwvY3Jvc3NtYXJrPg0KICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2NzwvZG9pPg0KICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1Njc8L3Jlc291cmNlPg0KICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgPGNpdGF0aW9uX2xpc3Q+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkJvbmtlPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+NDI2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE4MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbmF0dXJlMDIxMDA8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+R2VuZXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+QnJlbm5lcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40MTM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xNTM0L2dlbmV0aWNzLjEwOS4xMDQ5NzY8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIzIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGh5c2lvbG9naWEgUGxhbnRhcnVtPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkNoYWZmZXk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMTQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTk0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAzNC9qLjEzOTktMzA1NC4yMDAyLjExNDA0MTMueDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OZXVyYWwgY29tcHV0YXRpb248L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Q2hhbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMTE5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTE2Mi8wODk5NzY2MDE3NTAzOTkzMzU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI1Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWFjaGluZSBMZWFybmluZzwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Db3J0ZXM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNzM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk1PC9jWWVhcj4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI2Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RG9sYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMTk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NzE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTkzPC9jWWVhcj4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U2VtaW5hcnMgaW4gQ2VsbCAmYW1wOyBEZXZlbG9wbWVudGFsIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RWxvPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTA5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDk8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5zZW1jZGIuMjAwOS4wOS4wMDk8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RXRjaGVsbHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjIyNDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEyNDIvZGV2LjA5MTMxNDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjkiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QTE9TIEdlbmV0aWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkV0Y2hlbGxzPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+ODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT5lMTAwMjk5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEzNzEvam91cm5hbC5wZ2VuLjEwMDI5OTc8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbGVjdWxhciBTeXN0ZW1zIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RnVjaHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT42PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM3MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTA8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbXNiLjIwMTAuMjU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpbyBTeXN0ZW1zPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkdyYW5xdmlzdDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjExMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5iaW9zeXN0ZW1zLjIwMTIuMDcuMDA0PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTIiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DdXJyZW50IE9waW5pb24gaW4gUGxhbnQgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Hcm9vdmVyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5wYmkuMjAwNS4xMS4wMTM8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SGlyYWthd2E8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjE4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNS90cGMuMTEwLjA3NjA4MzwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjE0Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvY2VlZGluZ3Mgb2YgdGhlIE5hdGlvbmFsIEFjYWRlbXkgb2YgU2NpZW5jZXMgb2YgdGhlIFVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5IaXJha2F3YTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjEwNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTIwODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwNzMvcG5hcy4wODA4NDQ0MTA1PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTUiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1leWVyb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT41Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTg5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2LzAwOTItODY3NCg4OSk5MDkwMC04PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbmNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1leWVyb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yOTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTQ4MjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjExMjYvc2NpZW5jZS4xMDY2NjA5PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTciPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QbGFudCBQaHlzaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk5pZW1pbmVuPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTM1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjY1MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjExMDQvcHAuMTA0LjA0MDIxMjwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjE4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIEJpb3RlY2hub2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Tm9ibGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTY1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAzOC9uYnQxMjA2LTE1NjU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxOSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb2NlZWRpbmdzIG9mIHRoZSBOYXRpb25hbCBBY2FkZW15IG9mIFNjaWVuY2VzIG9mIHRoZSBVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2E8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+T2xzb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT43Nzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTE2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk4MDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTA3My9wbmFzLjc3LjMuMTUxNjwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIwIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvaW5mb3JtYXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UGF1PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTc5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTA5My9iaW9pbmZvcm1hdGljcy9idHEwNDY8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UmFnbmk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMzIyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNS90cGMuMTExLjA4NDAyMDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIyIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TYW5rYXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjUwNjEvZHJ5YWQuYjgzNWs8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkN1cnJlbnQgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TaWJvdXQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40NTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA4PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouY3ViLjIwMDguMDIuMDcwPC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5UaGUgTmV3IFBoeXRvbG9naXN0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlNwaWNlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41Nzc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMTExL2ouMTQ2OS04MTM3LjIwMTAuMDMyMzYueDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjI1Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWFjaGluZSBWaXNpb24gYW5kIEFwcGxpY2F0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5UaGVyaWF1bHQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42NTk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDA3L3MwMDEzOC0wMTEtMDM0NS05PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlV5dHRld2FhbDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE0OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40Mzk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouY2VsbC4yMDEyLjAyLjA0ODwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjI3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIENlbGwgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5ZaW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT44NjA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDM4L25jYjI3NjQ8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICAgIDxjb21wb25lbnRfbGlzdD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPg0KICAgICAgICAgICAgICAgICAgPGI+QWJzdHJhY3Q8L2I+DQogICAgICAgICAgICAgICAgPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJ0ZXh0L3BsYWluIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwMTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPg0KICAgICAgICAgICAgICAgICAgPGI+ZUxpZmUgZGlnZXN0PC9iPg0KICAgICAgICAgICAgICAgIDwvdGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0idGV4dC9wbGFpbiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDI8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDI8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5GaWd1cmUgMS4gQ2VsbHVsYXIgbGV2ZWwgYW5hbHlzaXMgb2YgQXJhYmlkb3BzaXMgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGguPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+DQogICAgICAgICAgICAgICAgICAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBMaWdodCBtaWNyb3Njb3B5IG9mIGNyb3NzIHNlY3Rpb25zIG9idGFpbmVkIGZyb20gQXJhYmlkb3BzaXMgaHlwb2NvdHlscyAob3JnYW4gcG9zaXRpb24gaWxsdXN0cmF0ZWQgZm9yIGEgOS1kYXktb2xkIHNlZWRsaW5nLCBsb3dlciBsZWZ0KSBhdCA5IGRhZyAodXBwZXIgbGVmdCkgYW5kIDM1IGRhZyAocmlnaHQpLiBTaXplIGJhcnMgYXJlIDEwMCDOvG0uIEJsdWUgR1VTIHN0YWluaW5nIGR1ZSB0byB0aGUgcHJlc2VuY2Ugb2YgYW4NCiAgICAgICAgICAgICAgICAgIDxpPkFQTDo6R1VTPC9pPg0KICAgICAgICAgICAgICAgICAgcmVwb3J0ZXIgZ2VuZSBpbiB0aGlzIENvbC0wIGJhY2tncm91bmQgbGluZSBtYXJrcyBwaGxvZW0gYnVuZGxlcy4gKA0KICAgICAgICAgICAgICAgICAgPGI+QjwvYj4NCiAgICAgICAgICAgICAgICAgICkgT3ZlcnZpZXcgb2YgdGhlIGRldmVsb3BtZW50YWwgc2VyaWVzICh0aW1lIHBvaW50cyBhbmQgZGlzdGluY3Qgc2FtcGxlcyBwZXIgZ2Vub3R5cGUpIGFuYWx5emVkIGluIHRoaXMgc3R1ZHkuICgNCiAgICAgICAgICAgICAgICAgIDxiPkM8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgYSBoaWdoLXJlc29sdXRpb24gaHlwb2NvdHlsIHNlY3Rpb24gaW1hZ2UgYXNzZW1ibGVkIGZyb20gMTEgw5cgMTEgdGlsZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkQ8L2I+DQogICAgICAgICAgICAgICAgICApIFRoZSBzYW1lIGltYWdlIGFmdGVyIHByZS1wcm9jZXNzaW5nIGFuZCBiaW5hcml6YXRpb24sIGFuZCAoDQogICAgICAgICAgICAgICAgICA8Yj5FPC9iPg0KICAgICAgICAgICAgICAgICAgKSBzdWJzZXF1ZW50IHNlZ21lbnRhdGlvbiB1c2luZyBhIHdhdGVyc2hlZCBhbGdvcml0aG0uICgNCiAgICAgICAgICAgICAgICAgIDxiPkY8L2I+DQogICAgICAgICAgICAgICAgICApIE51bWJlciBvZiBtaXMtc2VnbWVudGVkIGNlbGxzIGFzIGRldGVybWluZWQgYnkgY2FyZWZ1bCB2aXN1YWwgaW5zcGVjdGlvbiBpbiAxMiBzZWN0aW9ucywgcGxvdHRlZCBhZ2FpbnN0IHRoZSB0b3RhbCBudW1iZXIgb2YgY2VsbHMgcGVyIHNlY3Rpb24gKGxvZyBzY2FsZSkuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwMzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAyLiBUaGUg4oCYUXVhbnRpdGF0aXZlIEhpc3RvbG9neeKAmSBhcHByb2FjaC48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIE92ZXJ2aWV3IG9mIHRoZSBjb21wdXRhdGlvbmFsIHBpcGVsaW5lIGZyb20gaW1hZ2UgYWNxdWlzaXRpb24gdG8gYW5hbHlzaXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIOKAmFBoZW5vcHJpbnRz4oCZIGZvciB0aGUgZGlmZmVyZW50IGdlbm90eXBlcyBhbmQgZGV2ZWxvcG1lbnRhbCBzdGFnZXMuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNDwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNDwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAy4oCUZmlndXJlIHN1cHBsZW1lbnQgMS4gQW4gZXhhbXBsZSBvZiBjbGFzc2lmaWVyIHNlbGVjdGlvbiB0aHJvdWdoIFYtZm9sZCBjcm9zcyB2YWxpZGF0aW9uLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPlRoZSBncmVlbiBhcnJvdyBwb2ludHMgb3V0IHRoZSBzZWxlY3RlZCBmZWF0dXJlIGNvbWJpbmF0aW9uIGFjY29yZGluZyB0byB0aGUgY3JpdGVyaWEgb2YgbWluaW11bSBudW1iZXIgb2YgZmVhdHVyZXMgd2l0aCB0aGUgaGlnaGVzdCBwZXJmb3JtYW5jZSBhbmQgdGhlIGxvd2VzdCB2YXJpYXRpb24gKHRoZSByYWRpdXNWIGZlYXR1cmUgd2FzIGV4Y2x1ZGVkIGR1ZSB0byBpdHMgcHV0YXRpdmUgdmFyaWF0aW9uIGluIHRpc3N1ZSBsb2NhdGlvbikuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAzLiBQcm9ncmVzc2lvbiBvZiB0aXNzdWUgcHJvbGlmZXJhdGlvbi48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIFByaW5jaXBhbCBjb21wb25lbnQgYW5hbHlzaXMgKFBDQSkgb2YgdGhlIHBoZW5vcHJpbnRzIHNob3duIGluIEZpZ3VyZSAyQiwgcGVyZm9ybWVkIHdpdGggbm9ybWFsaXplZCB2YWx1ZXMgKFN1cHBsZW1lbnRhcnkgZmlsZSA0KS4gVGhlIGlubGF5IHNjcmVlcGxvdCBkaXNwbGF5cyB0aGUgcHJvcG9ydGlvbiBvZiB0b3RhbCB2YXJpYXRpb24gZXhwbGFpbmVkIGJ5IGVhY2ggcHJpbmNpcGFsIGNvbXBvbmVudC4gKA0KICAgICAgICAgICAgICAgICAgPGI+QuKAk0U8L2I+DQogICAgICAgICAgICAgICAgICApIENvbXBhcmF0aXZlIHBsb3RzIG9mIHBhcmFtZXRlciBwcm9ncmVzc2lvbiBpbiB0aGUgdHdvIGdlbm90eXBlcy4gSW4gKA0KICAgICAgICAgICAgICAgICAgPGI+RDwvYj4NCiAgICAgICAgICAgICAgICAgICksIHh5bGVtIHJlcHJlc2VudHMgY29tYmluZWQgdmVzc2VsLCBwYXJlbmNoeW1hLCBhbmQgZmliZXIgY2VsbHMsIHBobG9lbSByZXByZXNlbnRzIGNvbWJpbmVkIHBobG9lbSBwYXJlbmNoeW1hIGFuZCBidW5kbGUgY2VsbHMuIEVycm9yIGJhcnMgaW5kaWNhdGUgc3RhbmRhcmQgZXJyb3IuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNjwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSA0LiBCaW1vZGFsIGRpc3RyaWJ1dGlvbiBvZiBpbmNsaW5lIGFuZ2xlIGFjY29yZGluZyB0byBwb3NpdGlvbi48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICBhbmQNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIFNwYXRpYWwgZGlzdHJpYnV0aW9uIG9mIGNlbGwgaW5jbGluZSBhbmdsZSBpbGx1c3RyYXRlcyB0aGUgdmFzY3VsYXIgb3JnYW5pemF0aW9uIGluIExlciAoDQogICAgICAgICAgICAgICAgICA8Yj5CPC9iPg0KICAgICAgICAgICAgICAgICAgKSBhcyBjb21wYXJlZCB0byBDb2wtMCAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBhdCBsYXRlciBzdGFnZXMgb2YgZGV2ZWxvcG1lbnQsIGZvciBleGFtcGxlIDMwIGRhZy4gVGhlIHNpemUgb2YgdGhlIGRpc2MgaW5jcmVhc2VzIHdpdGggdGhlIGFyZWEgb2YgdGhlIGNlbGwuIEJsdWUgY29sb3IgaW5kaWNhdGVzIHJhZGlhbCBjZWxsIG9yaWVudGF0aW9uLCByZWQgb3J0aG9yYWRpYWwuICgNCiAgICAgICAgICAgICAgICAgIDxiPkM8L2I+DQogICAgICAgICAgICAgICAgICBhbmQNCiAgICAgICAgICAgICAgICAgIDxiPkQ8L2I+DQogICAgICAgICAgICAgICAgICApIFZpb2xpbiBwbG90cyBvZiBpbmNsaW5lIGFuZ2xlIGRpc3RyaWJ1dGlvbiwgaWxsdXN0cmF0aW5nIGluY3JlYXNpbmdseSBiaW1vZGFsIGRpc3RyaWJ1dGlvbiBjb2luY2lkZW50IHdpdGggcmVmaW5lZCB2YXNjdWxhciBvcmdhbml6YXRpb24gYW5kIGRpZmZlcmVudCBkeW5hbWljcyBvZiB0aGUgcHJvY2VzcyBpbiB0aGUgdHdvIGdlbm90eXBlcy4NCiAgICAgICAgICAgICAgICA8L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDA3PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDA3PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDTigJRmaWd1cmUgc3VwcGxlbWVudCAxLiBBbiBpbGx1c3RyYXRpb24gb2YgdGhlIGluY2xpbmUgYW5nbGUuPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+VGhlIGluY2xpbmUgaXMgdGhlIGFuZ2xlIGJldHdlZW4gdGhlIHNlY3Rpb24gcmFkaXVzIHRocm91Z2ggdGhlIGNlbnRlciBvZiBhbiBlbGxpcHNlIGZpdCB0byBhIGNlbGwgYW5kIHRoZSBtYWpvciBheGlzIG9mIHRoYXQgZWxsaXBzZSBleHRlbmRlZCB0b3dhcmRzIHRoZSB4IGF4aXMuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwODwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwODwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSA1LiBEaXN0aW5jdCBsb2NhbCBvcmdhbml6YXRpb24gb2YgaW5jbGluZSBhbmdsZSBkdXJpbmcgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGggcHJvZ3Jlc3Npb24uPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+DQogICAgICAgICAgICAgICAgICAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAg4oCTDQogICAgICAgICAgICAgICAgICA8Yj5KPC9iPg0KICAgICAgICAgICAgICAgICAgKSBEZW5zaXR5IHBsb3RzIG9mIGNlbGwgaW5jbGluZSBhbmdsZSB2cyByYWRpYWwgcG9zaXRpb24gZm9yIHRoZSB0d28gZ2Vub3R5cGVzIGF0IHRoZSBpbmRpY2F0ZWQgZGV2ZWxvcG1lbnRhbCBzdGFnZXMsIHJlcHJlc2VudGluZyBhbGwgY2VsbHMgYWNyb3NzIGFsbCBzZWN0aW9ucyBmb3IgYSBnaXZlbiB0aW1lIHBvaW50LiBUaGUgcmVkIGxpbmVzIHJlcHJlc2VudCB0aGUgZml0IG9mIHRoZXNlIGNsb3VkIGRpc3RyaWJ1dGlvbnMgd2l0aCBsb2NhbGx5IHdlaWdodGVkIGxpbmVhciByZWdyZXNzaW9uIChpLmUuLCBsb3dlc3MpLCByZXZlYWxpbmcgdGhlIGVzc2VudGlhbCBkYXRhIHRyZW5kcy4gQWxsIHNlY3Rpb25zIHdlcmUgbm9ybWFsaXplZCBmcm9tIDAuMCAodGhlIG1hbnVhbGx5IGRlZmluZWQgY2VudGVyKSB0byAxLjAgKHRoZSBhdmVyYWdlIHJhZGl1cyBpbiBhIHNldCBvZiBzZWN0aW9ucyBhcyBkZXRlcm1pbmVkIGJ5IHRoZSBhdmVyYWdlIGRpc3RhbmNlIG9mIHRoZSBvdXRlcm1vc3QgY2VsbHMgZnJvbSB0aGUgY2VudGVyIGZvciBpbmRpdmlkdWFsIHNlY3Rpb25zKS4gQm94IHBsb3RzIGluZGljYXRlIHRoZSBxdWFydGlsZXMgb2YgdGhlIHJhZGlhbiBkaXN0cmlidXRpb24gZm9yIGVhY2ggY2VsbC10eXBlIGNsYXNzIGFuZCBhcmUgcGxhY2VkIGF0IHRoZSBhdmVyYWdlIHBvc2l0aW9uIG9mIHRoZSBjZWxsIHR5cGUgd2l0aCByZXNwZWN0IHRvIHRoZSB5IGF4aXMuIE91dGxpZXJzIGFyZSBzaG93biBhcyBjaXJjbGVzLg0KICAgICAgICAgICAgICAgIDwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDk8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDk8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5GaWd1cmUgNeKAlGZpZ3VyZSBzdXBwbGVtZW50IDEuIEFuYWx5c2lzIG9mIGNlbGwgbnVtYmVyIGluIGRlZmluZWQgeHlsZW0gcmVnaW9ucyBvZiBkaWZmZXJlbnQgc2l6ZS48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT5DZWxsIG51bWJlciBpbiBhIGNpcmNsZSBvZiAyMDDigJM1MDAgcGl4ZWxzIGFyb3VuZCB0aGUgc2VjdGlvbiBjZW50ZXJzIGZvciBDb2wtMC4gQ2VsbCBjb3VudCBpbiBhIGNvbnN0YW50IGFyZWEgb2YgeHlsZW0gb3ZlciB0aW1lIGFjcm9zcyBhbGwgYXZlcmFnZWQgYWNyb3NzIGFsbCBzZWN0aW9ucy48L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDEwPC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDEwPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDYuIE1hcHBpbmcgb2YgcGhsb2VtIHBvbGUgcGF0dGVybmluZy48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgR2F1c3NpYW4ga2VybmVsIGRlbnNpdHkgZXN0aW1hdGUgb2YgdGhlIGxvY2F0aW9uIG9mIHByZWRpY3RlZCBwaGxvZW0gYnVuZGxlcyBjZWxscyBpbiBhIDMwIGRhZyBDb2wtMCBzZWN0aW9uLiBIaWdoIGRlbnNpdHkgcmVwcmVzZW50cyBwaGxvZW0gcG9sZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgYW4gYW5hbHlzaXMgb2YgZW1lcmdpbmcgcGhsb2VtIHBvbGUgcG9zaXRpb24gaW4gYSAzMCBkYWcgQ29sLTAgc2VjdGlvbi4gVGhlIHBsb3QgcmVwcmVzZW50cyBhIHBpeGVsIGludGVuc2l0eSBtYXAgYWZ0ZXIgbm9pc2UgcmVkdWN0aW9uIGFsb25nIGEgY2lyY3VsYXIgcmVnaW9uIG9mIGludGVyZXN0IGFjcm9zcyB0aGUgZW1lcmdpbmcgcGhsb2VtIHBvbGVzLiBJbnRlbnNpdHkgcGVha3MgYXJlIGR1ZSB0byBHVVMgc3RhaW5pbmcgY29uZmVycmVkIHRvIHBobG9lbSBidW5kbGVzIGJ5IGFuDQogICAgICAgICAgICAgICAgICA8aT5BUEw6OkdVUzwvaT4NCiAgICAgICAgICAgICAgICAgIHJlcG9ydGVyIGNvbnN0cnVjdC4gKA0KICAgICAgICAgICAgICAgICAgPGI+QzwvYj4NCiAgICAgICAgICAgICAgICAgICkgUHJvYmFiaWxpdHkgZGVuc2l0eSBmdW5jdGlvbiBvZiB0aGUgZGF0YSBzaG93biBpbiAoDQogICAgICAgICAgICAgICAgICA8Yj5CPC9iPg0KICAgICAgICAgICAgICAgICAgKSBvYnRhaW5lZCBmcm9tIGFuIGF1dG9tYXRlZCBCYXllc2lhbiBtb2RlbC4gVGhlIGRvbWluYW50IHNpbmdsZSBwZWFrIGluZGljYXRlcyBhIGNvbnN0YW50IGFyYyBkaXN0YW5jZSBvZiBjYS4gNjIgcGl4ZWwgYmV0d2VlbiB0aGUgcGhsb2VtIHBvbGVzLg0KICAgICAgICAgICAgICAgIDwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTE8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTE8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNSZWZlcmVuY2VkQnkiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT4NCiAgICAgICAgICAgICAgICAgIFN1cHBsZW1lbnRhcnkgZmlsZSAxLiAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBBbiBleHBsYW5hdGlvbiBvZiB0aGUgZXh0cmFjdGVkIHBhcmFtZXRlcnMgdGhhdCBkZXNjcmliZSB0aGUgY2VsbHVsYXIgZmVhdHVyZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIFN1bW1hcnkgaW5mb3JtYXRpb24gb2YgdGhlIGhhbmQtbGFiZWxlZCB0cmFpbmluZyBzZXQgZm9yIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZy4gKA0KICAgICAgICAgICAgICAgICAgPGI+QzwvYj4NCiAgICAgICAgICAgICAgICAgICkgRGVmaW5pdGlvbiBvZiB0aGUgY2xhc3NpZmllcnMgc2VsZWN0ZWQgZm9yIGFuYWx5c2lzLiAoDQogICAgICAgICAgICAgICAgICA8Yj5EPC9iPg0KICAgICAgICAgICAgICAgICAgKSBTdW1tYXJ5IG9mIHRoZSBjbGFzc2lmaWVyIHBhcmFtZXRlcnMgZm9yIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZy4gKA0KICAgICAgICAgICAgICAgICAgPGI+RTwvYj4NCiAgICAgICAgICAgICAgICAgICkgT3ZlcnZpZXcgb2YgdGhlIGNlbGwgdHlwZSBjbGFzc2VzIHJlY29nbml6ZWQgYnkgdGhlIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZyBhcHByb2FjaCBhbmQgdGhlaXIgYXNzaWdubWVudCBjb2RlcyB1c2VkIGluIERhdGEgRmlsZXMgMyBhbmQgNC4NCiAgICAgICAgICAgICAgICA8L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMjwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1JlZmVyZW5jZWRCeSI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1lbnRhcnkgZmlsZSAyLiBRdWFsaXR5IGNvbnRyb2wgZmlsZXMgZm9yIHRoZSBDb2wtMCBzZWN0aW9ucy48L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1JlZmVyZW5jZWRCeSI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1lbnRhcnkgZmlsZSAzLiBRdWFsaXR5IGNvbnRyb2wgZmlsZXMgZm9yIHRoZSBMZXIgc2VjdGlvbnMuPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTQ8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTQ8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNSZWZlcmVuY2VkQnkiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5TdXBwbGVtZW50YXJ5IGZpbGUgNC4gVGhlIG5vcm1hbGl6ZWQgdmFsdWVzIG9mIHRoZSBwaGVub3ByaW50cyAoRmlndXJlIDJCKSB1c2VkIGZvciBQQ0EuPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTU8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTU8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT4NCiAgICAgICAgICAgICAgICAgIDxiPkRlY2lzaW9uIGxldHRlcjwvYj4NCiAgICAgICAgICAgICAgICA8L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9InRleHQvcGxhaW4iIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDE2PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDE2PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+DQogICAgICAgICAgICAgICAgICA8Yj5BdXRob3IgcmVzcG9uc2U8L2I+DQogICAgICAgICAgICAgICAgPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJ0ZXh0L3BsYWluIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxNzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxNzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICA8L2NvbXBvbmVudF9saXN0Pg0KICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgIDwvam91cm5hbD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2RvaV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
104
104
  http_version:
105
- recorded_at: Sat, 22 Jul 2017 20:28:56 GMT
105
+ recorded_at: Sat, 29 Jul 2017 13:43:27 GMT
106
106
  recorded_with: VCR 3.0.3
@@ -29,7 +29,7 @@ http_interactions:
29
29
  Content-Type:
30
30
  - application/vnd.api+json; charset=utf-8
31
31
  Date:
32
- - Sat, 22 Jul 2017 20:28:52 GMT
32
+ - Sat, 29 Jul 2017 13:43:24 GMT
33
33
  Etag:
34
34
  - W/"daf85afdb45f3c2713bc7e75916ba82a"
35
35
  Server:
@@ -45,19 +45,19 @@ http_interactions:
45
45
  X-Frame-Options:
46
46
  - SAMEORIGIN
47
47
  X-Kong-Proxy-Latency:
48
- - '1'
48
+ - '2'
49
49
  X-Kong-Upstream-Latency:
50
- - '552'
50
+ - '328'
51
51
  X-Powered-By:
52
- - Phusion Passenger 5.1.5
52
+ - Phusion Passenger 5.1.6
53
53
  X-Ratelimit-Limit-Hour:
54
54
  - '100000'
55
55
  X-Ratelimit-Remaining-Hour:
56
- - '99942'
56
+ - '99939'
57
57
  X-Request-Id:
58
- - b81f41b7-f7d6-4e56-957d-f86e3d9f011b
58
+ - a45b5a6e-d2b8-4de8-848c-a5057ad68af0
59
59
  X-Runtime:
60
- - '0.551320'
60
+ - '0.327158'
61
61
  X-Xss-Protection:
62
62
  - 1; mode=block
63
63
  Content-Length:
@@ -68,7 +68,7 @@ http_interactions:
68
68
  encoding: UTF-8
69
69
  string: '{"data":{"id":"10.7554","type":"prefixes","attributes":{"registration-agency":"Crossref","updated":"2016-09-21T21:07:27Z"}}}'
70
70
  http_version:
71
- recorded_at: Sat, 22 Jul 2017 20:28:51 GMT
71
+ recorded_at: Sat, 29 Jul 2017 13:43:24 GMT
72
72
  - request:
73
73
  method: get
74
74
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.7554/elife.01567&noredirect=true&pid=tech@datacite.org
@@ -94,7 +94,7 @@ http_interactions:
94
94
  Content-Language:
95
95
  - en-US
96
96
  Date:
97
- - Sat, 22 Jul 2017 20:28:52 GMT
97
+ - Sat, 29 Jul 2017 13:43:24 GMT
98
98
  Connection:
99
99
  - close
100
100
  body:
@@ -102,5 +102,5 @@ http_interactions:
102
102
  string: !binary |-
103
103
  PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuNzU1NCIgdGltZXN0YW1wPSIyMDE1LTA4LTExIDA3OjM1OjAyIj4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8am91cm5hbD4NCiAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICA8ZnVsbF90aXRsZT5lTGlmZTwvZnVsbF90aXRsZT4NCiAgICAgICAgICA8aXNzbiBtZWRpYV90eXBlPSJlbGVjdHJvbmljIj4yMDUwLTA4NFg8L2lzc24+DQogICAgICAgIDwvam91cm5hbF9tZXRhZGF0YT4NCiAgICAgICAgPGpvdXJuYWxfaXNzdWU+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8am91cm5hbF92b2x1bWU+DQogICAgICAgICAgICA8dm9sdW1lPjM8L3ZvbHVtZT4NCiAgICAgICAgICA8L2pvdXJuYWxfdm9sdW1lPg0KICAgICAgICA8L2pvdXJuYWxfaXNzdWU+DQogICAgICAgIDxqb3VybmFsX2FydGljbGUgcHVibGljYXRpb25fdHlwZT0iZnVsbF90ZXh0Ij4NCiAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgPHRpdGxlPkF1dG9tYXRlZCBxdWFudGl0YXRpdmUgaGlzdG9sb2d5IHJldmVhbHMgdmFzY3VsYXIgbW9ycGhvZHluYW1pY3MgZHVyaW5nIEFyYWJpZG9wc2lzIGh5cG9jb3R5bCBzZWNvbmRhcnkgZ3Jvd3RoPC90aXRsZT4NCiAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICA8Y29udHJpYnV0b3JzPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TWFydGlhbDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+U2Fua2FyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+S2Fpc2E8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPk5pZW1pbmVuPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TGF1cmE8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPlJhZ25pPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+SW9hbm5pczwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+WGVuYXJpb3M8L3N1cm5hbWU+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5DaHJpc3RpYW4gUzwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+SGFyZHRrZTwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8cHVibGlzaGVyX2l0ZW0+DQogICAgICAgICAgICA8aWRlbnRpZmllciBpZF90eXBlPSJkb2kiPjEwLjc1NTQvZUxpZmUuMDE1Njc8L2lkZW50aWZpZXI+DQogICAgICAgICAgPC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAgICAgICAgICAgPGNyb3NzbWFya192ZXJzaW9uPjE8L2Nyb3NzbWFya192ZXJzaW9uPg0KICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+ZUxpZmVzY2llbmNlczwvY3Jvc3NtYXJrX3BvbGljeT4NCiAgICAgICAgICAgIDxjcm9zc21hcmtfZG9tYWlucz4NCiAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICAgICAgPGRvbWFpbj53d3cuZWxpZmVzY2llbmNlcy5vcmc8L2RvbWFpbj4NCiAgICAgICAgICAgICAgPC9jcm9zc21hcmtfZG9tYWluPg0KICAgICAgICAgICAgPC9jcm9zc21hcmtfZG9tYWlucz4NCiAgICAgICAgICAgIDxjcm9zc21hcmtfZG9tYWluX2V4Y2x1c2l2ZT5mYWxzZTwvY3Jvc3NtYXJrX2RvbWFpbl9leGNsdXNpdmU+DQogICAgICAgICAgICA8Y3VzdG9tX21ldGFkYXRhPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9InJlY2VpdmVkIiBsYWJlbD0iUmVjZWl2ZWQiIGdyb3VwX25hbWU9InB1YmxpY2F0aW9uX2hpc3RvcnkiIGdyb3VwX2xhYmVsPSJQdWJsaWNhdGlvbiBIaXN0b3J5IiBvcmRlcj0iMCI+MjAxMy0wOS0yMDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImFjY2VwdGVkIiBsYWJlbD0iQWNjZXB0ZWQiIGdyb3VwX25hbWU9InB1YmxpY2F0aW9uX2hpc3RvcnkiIGdyb3VwX2xhYmVsPSJQdWJsaWNhdGlvbiBIaXN0b3J5IiBvcmRlcj0iMSI+MjAxMy0xMi0yNDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9InB1Ymxpc2hlZCIgbGFiZWw9IlB1Ymxpc2hlZCIgZ3JvdXBfbmFtZT0icHVibGljYXRpb25faGlzdG9yeSIgZ3JvdXBfbGFiZWw9IlB1YmxpY2F0aW9uIEhpc3RvcnkiIG9yZGVyPSIyIj4yMDE0LTAyLTExPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDxwcm9ncmFtIG5hbWU9ImZ1bmRyZWYiPg0KICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX25hbWUiPlN5c3RlbXNYPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIEVNQk8NCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDAzMDQzPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgU3dpc3MgTmF0aW9uYWwgU2NpZW5jZSBGb3VuZGF0aW9uDQogICAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX2lkZW50aWZpZXIiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEzMDM5LzUwMTEwMDAwMTcxMTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIFVuaXZlcnNpdHkgb2YgTGF1c2FubmUNCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciIgcHJvdmlkZXI9ImNyb3NzcmVmIj5odHRwOi8vZHguZG9pLm9yZy8xMC4xMzAzOS81MDExMDAwMDYzOTA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8L3Byb2dyYW0+DQogICAgICAgICAgICAgIDxwcm9ncmFtIG5hbWU9IkFjY2Vzc0luZGljYXRvcnMiPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJ2b3IiPmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC88L2xpY2Vuc2VfcmVmPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJhbSI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFwcGxpZXNfdG89InRkbSI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICAgIDwvcHJvZ3JhbT4NCiAgICAgICAgICAgIDwvY3VzdG9tX21ldGFkYXRhPg0KICAgICAgICAgIDwvY3Jvc3NtYXJrPg0KICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2NzwvZG9pPg0KICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1Njc8L3Jlc291cmNlPg0KICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgPGNpdGF0aW9uX2xpc3Q+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkJvbmtlPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+NDI2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE4MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbmF0dXJlMDIxMDA8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+R2VuZXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+QnJlbm5lcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40MTM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xNTM0L2dlbmV0aWNzLjEwOS4xMDQ5NzY8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIzIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGh5c2lvbG9naWEgUGxhbnRhcnVtPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkNoYWZmZXk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMTQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTk0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAzNC9qLjEzOTktMzA1NC4yMDAyLjExNDA0MTMueDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OZXVyYWwgY29tcHV0YXRpb248L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Q2hhbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMTE5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTE2Mi8wODk5NzY2MDE3NTAzOTkzMzU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI1Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWFjaGluZSBMZWFybmluZzwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Db3J0ZXM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNzM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk1PC9jWWVhcj4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI2Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RG9sYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMTk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NzE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTkzPC9jWWVhcj4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U2VtaW5hcnMgaW4gQ2VsbCAmYW1wOyBEZXZlbG9wbWVudGFsIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RWxvPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTA5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDk8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5zZW1jZGIuMjAwOS4wOS4wMDk8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RXRjaGVsbHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjIyNDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEyNDIvZGV2LjA5MTMxNDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjkiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QTE9TIEdlbmV0aWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkV0Y2hlbGxzPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+ODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT5lMTAwMjk5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEzNzEvam91cm5hbC5wZ2VuLjEwMDI5OTc8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbGVjdWxhciBTeXN0ZW1zIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RnVjaHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT42PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM3MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTA8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbXNiLjIwMTAuMjU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpbyBTeXN0ZW1zPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkdyYW5xdmlzdDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjExMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5iaW9zeXN0ZW1zLjIwMTIuMDcuMDA0PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTIiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DdXJyZW50IE9waW5pb24gaW4gUGxhbnQgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Hcm9vdmVyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5wYmkuMjAwNS4xMS4wMTM8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SGlyYWthd2E8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjE4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNS90cGMuMTEwLjA3NjA4MzwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjE0Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvY2VlZGluZ3Mgb2YgdGhlIE5hdGlvbmFsIEFjYWRlbXkgb2YgU2NpZW5jZXMgb2YgdGhlIFVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5IaXJha2F3YTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjEwNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTIwODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwNzMvcG5hcy4wODA4NDQ0MTA1PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTUiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1leWVyb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT41Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTg5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2LzAwOTItODY3NCg4OSk5MDkwMC04PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbmNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1leWVyb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yOTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTQ4MjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjExMjYvc2NpZW5jZS4xMDY2NjA5PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTciPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QbGFudCBQaHlzaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk5pZW1pbmVuPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTM1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjY1MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjExMDQvcHAuMTA0LjA0MDIxMjwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjE4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIEJpb3RlY2hub2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Tm9ibGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTY1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAzOC9uYnQxMjA2LTE1NjU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxOSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb2NlZWRpbmdzIG9mIHRoZSBOYXRpb25hbCBBY2FkZW15IG9mIFNjaWVuY2VzIG9mIHRoZSBVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2E8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+T2xzb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT43Nzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTE2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk4MDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTA3My9wbmFzLjc3LjMuMTUxNjwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIwIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvaW5mb3JtYXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UGF1PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTc5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTA5My9iaW9pbmZvcm1hdGljcy9idHEwNDY8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UmFnbmk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMzIyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNS90cGMuMTExLjA4NDAyMDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIyIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TYW5rYXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjUwNjEvZHJ5YWQuYjgzNWs8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkN1cnJlbnQgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TaWJvdXQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40NTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA4PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouY3ViLjIwMDguMDIuMDcwPC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5UaGUgTmV3IFBoeXRvbG9naXN0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlNwaWNlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41Nzc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMTExL2ouMTQ2OS04MTM3LjIwMTAuMDMyMzYueDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjI1Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWFjaGluZSBWaXNpb24gYW5kIEFwcGxpY2F0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5UaGVyaWF1bHQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42NTk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDA3L3MwMDEzOC0wMTEtMDM0NS05PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlV5dHRld2FhbDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE0OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40Mzk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouY2VsbC4yMDEyLjAyLjA0ODwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjI3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIENlbGwgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5ZaW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT44NjA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDM4L25jYjI3NjQ8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICAgIDxjb21wb25lbnRfbGlzdD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPg0KICAgICAgICAgICAgICAgICAgPGI+QWJzdHJhY3Q8L2I+DQogICAgICAgICAgICAgICAgPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJ0ZXh0L3BsYWluIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwMTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPg0KICAgICAgICAgICAgICAgICAgPGI+ZUxpZmUgZGlnZXN0PC9iPg0KICAgICAgICAgICAgICAgIDwvdGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0idGV4dC9wbGFpbiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDI8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDI8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5GaWd1cmUgMS4gQ2VsbHVsYXIgbGV2ZWwgYW5hbHlzaXMgb2YgQXJhYmlkb3BzaXMgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGguPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+DQogICAgICAgICAgICAgICAgICAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBMaWdodCBtaWNyb3Njb3B5IG9mIGNyb3NzIHNlY3Rpb25zIG9idGFpbmVkIGZyb20gQXJhYmlkb3BzaXMgaHlwb2NvdHlscyAob3JnYW4gcG9zaXRpb24gaWxsdXN0cmF0ZWQgZm9yIGEgOS1kYXktb2xkIHNlZWRsaW5nLCBsb3dlciBsZWZ0KSBhdCA5IGRhZyAodXBwZXIgbGVmdCkgYW5kIDM1IGRhZyAocmlnaHQpLiBTaXplIGJhcnMgYXJlIDEwMCDOvG0uIEJsdWUgR1VTIHN0YWluaW5nIGR1ZSB0byB0aGUgcHJlc2VuY2Ugb2YgYW4NCiAgICAgICAgICAgICAgICAgIDxpPkFQTDo6R1VTPC9pPg0KICAgICAgICAgICAgICAgICAgcmVwb3J0ZXIgZ2VuZSBpbiB0aGlzIENvbC0wIGJhY2tncm91bmQgbGluZSBtYXJrcyBwaGxvZW0gYnVuZGxlcy4gKA0KICAgICAgICAgICAgICAgICAgPGI+QjwvYj4NCiAgICAgICAgICAgICAgICAgICkgT3ZlcnZpZXcgb2YgdGhlIGRldmVsb3BtZW50YWwgc2VyaWVzICh0aW1lIHBvaW50cyBhbmQgZGlzdGluY3Qgc2FtcGxlcyBwZXIgZ2Vub3R5cGUpIGFuYWx5emVkIGluIHRoaXMgc3R1ZHkuICgNCiAgICAgICAgICAgICAgICAgIDxiPkM8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgYSBoaWdoLXJlc29sdXRpb24gaHlwb2NvdHlsIHNlY3Rpb24gaW1hZ2UgYXNzZW1ibGVkIGZyb20gMTEgw5cgMTEgdGlsZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkQ8L2I+DQogICAgICAgICAgICAgICAgICApIFRoZSBzYW1lIGltYWdlIGFmdGVyIHByZS1wcm9jZXNzaW5nIGFuZCBiaW5hcml6YXRpb24sIGFuZCAoDQogICAgICAgICAgICAgICAgICA8Yj5FPC9iPg0KICAgICAgICAgICAgICAgICAgKSBzdWJzZXF1ZW50IHNlZ21lbnRhdGlvbiB1c2luZyBhIHdhdGVyc2hlZCBhbGdvcml0aG0uICgNCiAgICAgICAgICAgICAgICAgIDxiPkY8L2I+DQogICAgICAgICAgICAgICAgICApIE51bWJlciBvZiBtaXMtc2VnbWVudGVkIGNlbGxzIGFzIGRldGVybWluZWQgYnkgY2FyZWZ1bCB2aXN1YWwgaW5zcGVjdGlvbiBpbiAxMiBzZWN0aW9ucywgcGxvdHRlZCBhZ2FpbnN0IHRoZSB0b3RhbCBudW1iZXIgb2YgY2VsbHMgcGVyIHNlY3Rpb24gKGxvZyBzY2FsZSkuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwMzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAyLiBUaGUg4oCYUXVhbnRpdGF0aXZlIEhpc3RvbG9neeKAmSBhcHByb2FjaC48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIE92ZXJ2aWV3IG9mIHRoZSBjb21wdXRhdGlvbmFsIHBpcGVsaW5lIGZyb20gaW1hZ2UgYWNxdWlzaXRpb24gdG8gYW5hbHlzaXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIOKAmFBoZW5vcHJpbnRz4oCZIGZvciB0aGUgZGlmZmVyZW50IGdlbm90eXBlcyBhbmQgZGV2ZWxvcG1lbnRhbCBzdGFnZXMuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNDwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNDwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAy4oCUZmlndXJlIHN1cHBsZW1lbnQgMS4gQW4gZXhhbXBsZSBvZiBjbGFzc2lmaWVyIHNlbGVjdGlvbiB0aHJvdWdoIFYtZm9sZCBjcm9zcyB2YWxpZGF0aW9uLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPlRoZSBncmVlbiBhcnJvdyBwb2ludHMgb3V0IHRoZSBzZWxlY3RlZCBmZWF0dXJlIGNvbWJpbmF0aW9uIGFjY29yZGluZyB0byB0aGUgY3JpdGVyaWEgb2YgbWluaW11bSBudW1iZXIgb2YgZmVhdHVyZXMgd2l0aCB0aGUgaGlnaGVzdCBwZXJmb3JtYW5jZSBhbmQgdGhlIGxvd2VzdCB2YXJpYXRpb24gKHRoZSByYWRpdXNWIGZlYXR1cmUgd2FzIGV4Y2x1ZGVkIGR1ZSB0byBpdHMgcHV0YXRpdmUgdmFyaWF0aW9uIGluIHRpc3N1ZSBsb2NhdGlvbikuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAzLiBQcm9ncmVzc2lvbiBvZiB0aXNzdWUgcHJvbGlmZXJhdGlvbi48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIFByaW5jaXBhbCBjb21wb25lbnQgYW5hbHlzaXMgKFBDQSkgb2YgdGhlIHBoZW5vcHJpbnRzIHNob3duIGluIEZpZ3VyZSAyQiwgcGVyZm9ybWVkIHdpdGggbm9ybWFsaXplZCB2YWx1ZXMgKFN1cHBsZW1lbnRhcnkgZmlsZSA0KS4gVGhlIGlubGF5IHNjcmVlcGxvdCBkaXNwbGF5cyB0aGUgcHJvcG9ydGlvbiBvZiB0b3RhbCB2YXJpYXRpb24gZXhwbGFpbmVkIGJ5IGVhY2ggcHJpbmNpcGFsIGNvbXBvbmVudC4gKA0KICAgICAgICAgICAgICAgICAgPGI+QuKAk0U8L2I+DQogICAgICAgICAgICAgICAgICApIENvbXBhcmF0aXZlIHBsb3RzIG9mIHBhcmFtZXRlciBwcm9ncmVzc2lvbiBpbiB0aGUgdHdvIGdlbm90eXBlcy4gSW4gKA0KICAgICAgICAgICAgICAgICAgPGI+RDwvYj4NCiAgICAgICAgICAgICAgICAgICksIHh5bGVtIHJlcHJlc2VudHMgY29tYmluZWQgdmVzc2VsLCBwYXJlbmNoeW1hLCBhbmQgZmliZXIgY2VsbHMsIHBobG9lbSByZXByZXNlbnRzIGNvbWJpbmVkIHBobG9lbSBwYXJlbmNoeW1hIGFuZCBidW5kbGUgY2VsbHMuIEVycm9yIGJhcnMgaW5kaWNhdGUgc3RhbmRhcmQgZXJyb3IuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNjwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSA0LiBCaW1vZGFsIGRpc3RyaWJ1dGlvbiBvZiBpbmNsaW5lIGFuZ2xlIGFjY29yZGluZyB0byBwb3NpdGlvbi48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICBhbmQNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIFNwYXRpYWwgZGlzdHJpYnV0aW9uIG9mIGNlbGwgaW5jbGluZSBhbmdsZSBpbGx1c3RyYXRlcyB0aGUgdmFzY3VsYXIgb3JnYW5pemF0aW9uIGluIExlciAoDQogICAgICAgICAgICAgICAgICA8Yj5CPC9iPg0KICAgICAgICAgICAgICAgICAgKSBhcyBjb21wYXJlZCB0byBDb2wtMCAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBhdCBsYXRlciBzdGFnZXMgb2YgZGV2ZWxvcG1lbnQsIGZvciBleGFtcGxlIDMwIGRhZy4gVGhlIHNpemUgb2YgdGhlIGRpc2MgaW5jcmVhc2VzIHdpdGggdGhlIGFyZWEgb2YgdGhlIGNlbGwuIEJsdWUgY29sb3IgaW5kaWNhdGVzIHJhZGlhbCBjZWxsIG9yaWVudGF0aW9uLCByZWQgb3J0aG9yYWRpYWwuICgNCiAgICAgICAgICAgICAgICAgIDxiPkM8L2I+DQogICAgICAgICAgICAgICAgICBhbmQNCiAgICAgICAgICAgICAgICAgIDxiPkQ8L2I+DQogICAgICAgICAgICAgICAgICApIFZpb2xpbiBwbG90cyBvZiBpbmNsaW5lIGFuZ2xlIGRpc3RyaWJ1dGlvbiwgaWxsdXN0cmF0aW5nIGluY3JlYXNpbmdseSBiaW1vZGFsIGRpc3RyaWJ1dGlvbiBjb2luY2lkZW50IHdpdGggcmVmaW5lZCB2YXNjdWxhciBvcmdhbml6YXRpb24gYW5kIGRpZmZlcmVudCBkeW5hbWljcyBvZiB0aGUgcHJvY2VzcyBpbiB0aGUgdHdvIGdlbm90eXBlcy4NCiAgICAgICAgICAgICAgICA8L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDA3PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDA3PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDTigJRmaWd1cmUgc3VwcGxlbWVudCAxLiBBbiBpbGx1c3RyYXRpb24gb2YgdGhlIGluY2xpbmUgYW5nbGUuPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+VGhlIGluY2xpbmUgaXMgdGhlIGFuZ2xlIGJldHdlZW4gdGhlIHNlY3Rpb24gcmFkaXVzIHRocm91Z2ggdGhlIGNlbnRlciBvZiBhbiBlbGxpcHNlIGZpdCB0byBhIGNlbGwgYW5kIHRoZSBtYWpvciBheGlzIG9mIHRoYXQgZWxsaXBzZSBleHRlbmRlZCB0b3dhcmRzIHRoZSB4IGF4aXMuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwODwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwODwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSA1LiBEaXN0aW5jdCBsb2NhbCBvcmdhbml6YXRpb24gb2YgaW5jbGluZSBhbmdsZSBkdXJpbmcgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGggcHJvZ3Jlc3Npb24uPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+DQogICAgICAgICAgICAgICAgICAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAg4oCTDQogICAgICAgICAgICAgICAgICA8Yj5KPC9iPg0KICAgICAgICAgICAgICAgICAgKSBEZW5zaXR5IHBsb3RzIG9mIGNlbGwgaW5jbGluZSBhbmdsZSB2cyByYWRpYWwgcG9zaXRpb24gZm9yIHRoZSB0d28gZ2Vub3R5cGVzIGF0IHRoZSBpbmRpY2F0ZWQgZGV2ZWxvcG1lbnRhbCBzdGFnZXMsIHJlcHJlc2VudGluZyBhbGwgY2VsbHMgYWNyb3NzIGFsbCBzZWN0aW9ucyBmb3IgYSBnaXZlbiB0aW1lIHBvaW50LiBUaGUgcmVkIGxpbmVzIHJlcHJlc2VudCB0aGUgZml0IG9mIHRoZXNlIGNsb3VkIGRpc3RyaWJ1dGlvbnMgd2l0aCBsb2NhbGx5IHdlaWdodGVkIGxpbmVhciByZWdyZXNzaW9uIChpLmUuLCBsb3dlc3MpLCByZXZlYWxpbmcgdGhlIGVzc2VudGlhbCBkYXRhIHRyZW5kcy4gQWxsIHNlY3Rpb25zIHdlcmUgbm9ybWFsaXplZCBmcm9tIDAuMCAodGhlIG1hbnVhbGx5IGRlZmluZWQgY2VudGVyKSB0byAxLjAgKHRoZSBhdmVyYWdlIHJhZGl1cyBpbiBhIHNldCBvZiBzZWN0aW9ucyBhcyBkZXRlcm1pbmVkIGJ5IHRoZSBhdmVyYWdlIGRpc3RhbmNlIG9mIHRoZSBvdXRlcm1vc3QgY2VsbHMgZnJvbSB0aGUgY2VudGVyIGZvciBpbmRpdmlkdWFsIHNlY3Rpb25zKS4gQm94IHBsb3RzIGluZGljYXRlIHRoZSBxdWFydGlsZXMgb2YgdGhlIHJhZGlhbiBkaXN0cmlidXRpb24gZm9yIGVhY2ggY2VsbC10eXBlIGNsYXNzIGFuZCBhcmUgcGxhY2VkIGF0IHRoZSBhdmVyYWdlIHBvc2l0aW9uIG9mIHRoZSBjZWxsIHR5cGUgd2l0aCByZXNwZWN0IHRvIHRoZSB5IGF4aXMuIE91dGxpZXJzIGFyZSBzaG93biBhcyBjaXJjbGVzLg0KICAgICAgICAgICAgICAgIDwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDk8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDk8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5GaWd1cmUgNeKAlGZpZ3VyZSBzdXBwbGVtZW50IDEuIEFuYWx5c2lzIG9mIGNlbGwgbnVtYmVyIGluIGRlZmluZWQgeHlsZW0gcmVnaW9ucyBvZiBkaWZmZXJlbnQgc2l6ZS48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT5DZWxsIG51bWJlciBpbiBhIGNpcmNsZSBvZiAyMDDigJM1MDAgcGl4ZWxzIGFyb3VuZCB0aGUgc2VjdGlvbiBjZW50ZXJzIGZvciBDb2wtMC4gQ2VsbCBjb3VudCBpbiBhIGNvbnN0YW50IGFyZWEgb2YgeHlsZW0gb3ZlciB0aW1lIGFjcm9zcyBhbGwgYXZlcmFnZWQgYWNyb3NzIGFsbCBzZWN0aW9ucy48L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDEwPC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDEwPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDYuIE1hcHBpbmcgb2YgcGhsb2VtIHBvbGUgcGF0dGVybmluZy48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgR2F1c3NpYW4ga2VybmVsIGRlbnNpdHkgZXN0aW1hdGUgb2YgdGhlIGxvY2F0aW9uIG9mIHByZWRpY3RlZCBwaGxvZW0gYnVuZGxlcyBjZWxscyBpbiBhIDMwIGRhZyBDb2wtMCBzZWN0aW9uLiBIaWdoIGRlbnNpdHkgcmVwcmVzZW50cyBwaGxvZW0gcG9sZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgYW4gYW5hbHlzaXMgb2YgZW1lcmdpbmcgcGhsb2VtIHBvbGUgcG9zaXRpb24gaW4gYSAzMCBkYWcgQ29sLTAgc2VjdGlvbi4gVGhlIHBsb3QgcmVwcmVzZW50cyBhIHBpeGVsIGludGVuc2l0eSBtYXAgYWZ0ZXIgbm9pc2UgcmVkdWN0aW9uIGFsb25nIGEgY2lyY3VsYXIgcmVnaW9uIG9mIGludGVyZXN0IGFjcm9zcyB0aGUgZW1lcmdpbmcgcGhsb2VtIHBvbGVzLiBJbnRlbnNpdHkgcGVha3MgYXJlIGR1ZSB0byBHVVMgc3RhaW5pbmcgY29uZmVycmVkIHRvIHBobG9lbSBidW5kbGVzIGJ5IGFuDQogICAgICAgICAgICAgICAgICA8aT5BUEw6OkdVUzwvaT4NCiAgICAgICAgICAgICAgICAgIHJlcG9ydGVyIGNvbnN0cnVjdC4gKA0KICAgICAgICAgICAgICAgICAgPGI+QzwvYj4NCiAgICAgICAgICAgICAgICAgICkgUHJvYmFiaWxpdHkgZGVuc2l0eSBmdW5jdGlvbiBvZiB0aGUgZGF0YSBzaG93biBpbiAoDQogICAgICAgICAgICAgICAgICA8Yj5CPC9iPg0KICAgICAgICAgICAgICAgICAgKSBvYnRhaW5lZCBmcm9tIGFuIGF1dG9tYXRlZCBCYXllc2lhbiBtb2RlbC4gVGhlIGRvbWluYW50IHNpbmdsZSBwZWFrIGluZGljYXRlcyBhIGNvbnN0YW50IGFyYyBkaXN0YW5jZSBvZiBjYS4gNjIgcGl4ZWwgYmV0d2VlbiB0aGUgcGhsb2VtIHBvbGVzLg0KICAgICAgICAgICAgICAgIDwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTE8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTE8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNSZWZlcmVuY2VkQnkiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT4NCiAgICAgICAgICAgICAgICAgIFN1cHBsZW1lbnRhcnkgZmlsZSAxLiAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBBbiBleHBsYW5hdGlvbiBvZiB0aGUgZXh0cmFjdGVkIHBhcmFtZXRlcnMgdGhhdCBkZXNjcmliZSB0aGUgY2VsbHVsYXIgZmVhdHVyZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIFN1bW1hcnkgaW5mb3JtYXRpb24gb2YgdGhlIGhhbmQtbGFiZWxlZCB0cmFpbmluZyBzZXQgZm9yIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZy4gKA0KICAgICAgICAgICAgICAgICAgPGI+QzwvYj4NCiAgICAgICAgICAgICAgICAgICkgRGVmaW5pdGlvbiBvZiB0aGUgY2xhc3NpZmllcnMgc2VsZWN0ZWQgZm9yIGFuYWx5c2lzLiAoDQogICAgICAgICAgICAgICAgICA8Yj5EPC9iPg0KICAgICAgICAgICAgICAgICAgKSBTdW1tYXJ5IG9mIHRoZSBjbGFzc2lmaWVyIHBhcmFtZXRlcnMgZm9yIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZy4gKA0KICAgICAgICAgICAgICAgICAgPGI+RTwvYj4NCiAgICAgICAgICAgICAgICAgICkgT3ZlcnZpZXcgb2YgdGhlIGNlbGwgdHlwZSBjbGFzc2VzIHJlY29nbml6ZWQgYnkgdGhlIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZyBhcHByb2FjaCBhbmQgdGhlaXIgYXNzaWdubWVudCBjb2RlcyB1c2VkIGluIERhdGEgRmlsZXMgMyBhbmQgNC4NCiAgICAgICAgICAgICAgICA8L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMjwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1JlZmVyZW5jZWRCeSI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1lbnRhcnkgZmlsZSAyLiBRdWFsaXR5IGNvbnRyb2wgZmlsZXMgZm9yIHRoZSBDb2wtMCBzZWN0aW9ucy48L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1JlZmVyZW5jZWRCeSI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1lbnRhcnkgZmlsZSAzLiBRdWFsaXR5IGNvbnRyb2wgZmlsZXMgZm9yIHRoZSBMZXIgc2VjdGlvbnMuPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTQ8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTQ8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNSZWZlcmVuY2VkQnkiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5TdXBwbGVtZW50YXJ5IGZpbGUgNC4gVGhlIG5vcm1hbGl6ZWQgdmFsdWVzIG9mIHRoZSBwaGVub3ByaW50cyAoRmlndXJlIDJCKSB1c2VkIGZvciBQQ0EuPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTU8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTU8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT4NCiAgICAgICAgICAgICAgICAgIDxiPkRlY2lzaW9uIGxldHRlcjwvYj4NCiAgICAgICAgICAgICAgICA8L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9InRleHQvcGxhaW4iIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDE2PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDE2PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+DQogICAgICAgICAgICAgICAgICA8Yj5BdXRob3IgcmVzcG9uc2U8L2I+DQogICAgICAgICAgICAgICAgPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJ0ZXh0L3BsYWluIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxNzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxNzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICA8L2NvbXBvbmVudF9saXN0Pg0KICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgIDwvam91cm5hbD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2RvaV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
104
104
  http_version:
105
- recorded_at: Sat, 22 Jul 2017 20:28:52 GMT
105
+ recorded_at: Sat, 29 Jul 2017 13:43:24 GMT
106
106
  recorded_with: VCR 3.0.3
@@ -29,7 +29,7 @@ http_interactions:
29
29
  Content-Type:
30
30
  - application/vnd.api+json; charset=utf-8
31
31
  Date:
32
- - Sat, 22 Jul 2017 20:28:55 GMT
32
+ - Sat, 29 Jul 2017 13:43:23 GMT
33
33
  Etag:
34
34
  - W/"daf85afdb45f3c2713bc7e75916ba82a"
35
35
  Server:
@@ -45,28 +45,30 @@ http_interactions:
45
45
  X-Frame-Options:
46
46
  - SAMEORIGIN
47
47
  X-Kong-Proxy-Latency:
48
- - '1'
48
+ - '2'
49
49
  X-Kong-Upstream-Latency:
50
- - '480'
50
+ - '153'
51
51
  X-Powered-By:
52
- - Phusion Passenger 5.1.5
52
+ - Phusion Passenger 5.1.6
53
53
  X-Ratelimit-Limit-Hour:
54
54
  - '100000'
55
55
  X-Ratelimit-Remaining-Hour:
56
56
  - '99940'
57
57
  X-Request-Id:
58
- - 68336ecd-29e9-41ed-9aa6-13ccc0119f84
58
+ - 48510cec-354b-49f5-bad0-bc19a1310c59
59
59
  X-Runtime:
60
- - '0.371265'
60
+ - '0.150511'
61
61
  X-Xss-Protection:
62
62
  - 1; mode=block
63
+ Content-Length:
64
+ - '124'
63
65
  Connection:
64
66
  - keep-alive
65
67
  body:
66
68
  encoding: UTF-8
67
69
  string: '{"data":{"id":"10.7554","type":"prefixes","attributes":{"registration-agency":"Crossref","updated":"2016-09-21T21:07:27Z"}}}'
68
70
  http_version:
69
- recorded_at: Sat, 22 Jul 2017 20:28:54 GMT
71
+ recorded_at: Sat, 29 Jul 2017 13:43:23 GMT
70
72
  - request:
71
73
  method: get
72
74
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.7554/elife.01567&noredirect=true&pid=tech@datacite.org
@@ -86,13 +88,13 @@ http_interactions:
86
88
  Server:
87
89
  - Apache-Coyote/1.1
88
90
  Crossref-Deployment-Name:
89
- - qs4-1
91
+ - qs2-2
90
92
  Content-Type:
91
93
  - text/xml;charset=UTF-8
92
94
  Content-Language:
93
95
  - en-US
94
96
  Date:
95
- - Sat, 22 Jul 2017 20:28:55 GMT
97
+ - Sat, 29 Jul 2017 13:43:23 GMT
96
98
  Connection:
97
99
  - close
98
100
  body:
@@ -100,5 +102,5 @@ http_interactions:
100
102
  string: !binary |-
101
103
  PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuNzU1NCIgdGltZXN0YW1wPSIyMDE1LTA4LTExIDA3OjM1OjAyIj4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8am91cm5hbD4NCiAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICA8ZnVsbF90aXRsZT5lTGlmZTwvZnVsbF90aXRsZT4NCiAgICAgICAgICA8aXNzbiBtZWRpYV90eXBlPSJlbGVjdHJvbmljIj4yMDUwLTA4NFg8L2lzc24+DQogICAgICAgIDwvam91cm5hbF9tZXRhZGF0YT4NCiAgICAgICAgPGpvdXJuYWxfaXNzdWU+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8am91cm5hbF92b2x1bWU+DQogICAgICAgICAgICA8dm9sdW1lPjM8L3ZvbHVtZT4NCiAgICAgICAgICA8L2pvdXJuYWxfdm9sdW1lPg0KICAgICAgICA8L2pvdXJuYWxfaXNzdWU+DQogICAgICAgIDxqb3VybmFsX2FydGljbGUgcHVibGljYXRpb25fdHlwZT0iZnVsbF90ZXh0Ij4NCiAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgPHRpdGxlPkF1dG9tYXRlZCBxdWFudGl0YXRpdmUgaGlzdG9sb2d5IHJldmVhbHMgdmFzY3VsYXIgbW9ycGhvZHluYW1pY3MgZHVyaW5nIEFyYWJpZG9wc2lzIGh5cG9jb3R5bCBzZWNvbmRhcnkgZ3Jvd3RoPC90aXRsZT4NCiAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICA8Y29udHJpYnV0b3JzPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TWFydGlhbDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+U2Fua2FyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+S2Fpc2E8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPk5pZW1pbmVuPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TGF1cmE8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPlJhZ25pPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+SW9hbm5pczwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+WGVuYXJpb3M8L3N1cm5hbWU+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5DaHJpc3RpYW4gUzwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+SGFyZHRrZTwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4wMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjExPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDE0PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8cHVibGlzaGVyX2l0ZW0+DQogICAgICAgICAgICA8aWRlbnRpZmllciBpZF90eXBlPSJkb2kiPjEwLjc1NTQvZUxpZmUuMDE1Njc8L2lkZW50aWZpZXI+DQogICAgICAgICAgPC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAgICAgICAgICAgPGNyb3NzbWFya192ZXJzaW9uPjE8L2Nyb3NzbWFya192ZXJzaW9uPg0KICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+ZUxpZmVzY2llbmNlczwvY3Jvc3NtYXJrX3BvbGljeT4NCiAgICAgICAgICAgIDxjcm9zc21hcmtfZG9tYWlucz4NCiAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICAgICAgPGRvbWFpbj53d3cuZWxpZmVzY2llbmNlcy5vcmc8L2RvbWFpbj4NCiAgICAgICAgICAgICAgPC9jcm9zc21hcmtfZG9tYWluPg0KICAgICAgICAgICAgPC9jcm9zc21hcmtfZG9tYWlucz4NCiAgICAgICAgICAgIDxjcm9zc21hcmtfZG9tYWluX2V4Y2x1c2l2ZT5mYWxzZTwvY3Jvc3NtYXJrX2RvbWFpbl9leGNsdXNpdmU+DQogICAgICAgICAgICA8Y3VzdG9tX21ldGFkYXRhPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9InJlY2VpdmVkIiBsYWJlbD0iUmVjZWl2ZWQiIGdyb3VwX25hbWU9InB1YmxpY2F0aW9uX2hpc3RvcnkiIGdyb3VwX2xhYmVsPSJQdWJsaWNhdGlvbiBIaXN0b3J5IiBvcmRlcj0iMCI+MjAxMy0wOS0yMDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImFjY2VwdGVkIiBsYWJlbD0iQWNjZXB0ZWQiIGdyb3VwX25hbWU9InB1YmxpY2F0aW9uX2hpc3RvcnkiIGdyb3VwX2xhYmVsPSJQdWJsaWNhdGlvbiBIaXN0b3J5IiBvcmRlcj0iMSI+MjAxMy0xMi0yNDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9InB1Ymxpc2hlZCIgbGFiZWw9IlB1Ymxpc2hlZCIgZ3JvdXBfbmFtZT0icHVibGljYXRpb25faGlzdG9yeSIgZ3JvdXBfbGFiZWw9IlB1YmxpY2F0aW9uIEhpc3RvcnkiIG9yZGVyPSIyIj4yMDE0LTAyLTExPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDxwcm9ncmFtIG5hbWU9ImZ1bmRyZWYiPg0KICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX25hbWUiPlN5c3RlbXNYPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIEVNQk8NCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDAzMDQzPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgU3dpc3MgTmF0aW9uYWwgU2NpZW5jZSBGb3VuZGF0aW9uDQogICAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX2lkZW50aWZpZXIiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEzMDM5LzUwMTEwMDAwMTcxMTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIFVuaXZlcnNpdHkgb2YgTGF1c2FubmUNCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciIgcHJvdmlkZXI9ImNyb3NzcmVmIj5odHRwOi8vZHguZG9pLm9yZy8xMC4xMzAzOS81MDExMDAwMDYzOTA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8L3Byb2dyYW0+DQogICAgICAgICAgICAgIDxwcm9ncmFtIG5hbWU9IkFjY2Vzc0luZGljYXRvcnMiPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJ2b3IiPmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzMuMC88L2xpY2Vuc2VfcmVmPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJhbSI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICAgICAgPGxpY2Vuc2VfcmVmIGFwcGxpZXNfdG89InRkbSI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLzwvbGljZW5zZV9yZWY+DQogICAgICAgICAgICAgIDwvcHJvZ3JhbT4NCiAgICAgICAgICAgIDwvY3VzdG9tX21ldGFkYXRhPg0KICAgICAgICAgIDwvY3Jvc3NtYXJrPg0KICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2NzwvZG9pPg0KICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1Njc8L3Jlc291cmNlPg0KICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgPGNpdGF0aW9uX2xpc3Q+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkJvbmtlPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+NDI2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE4MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbmF0dXJlMDIxMDA8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+R2VuZXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+QnJlbm5lcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40MTM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xNTM0L2dlbmV0aWNzLjEwOS4xMDQ5NzY8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIzIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGh5c2lvbG9naWEgUGxhbnRhcnVtPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkNoYWZmZXk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMTQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTk0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAzNC9qLjEzOTktMzA1NC4yMDAyLjExNDA0MTMueDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OZXVyYWwgY29tcHV0YXRpb248L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Q2hhbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMTE5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTE2Mi8wODk5NzY2MDE3NTAzOTkzMzU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI1Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWFjaGluZSBMZWFybmluZzwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Db3J0ZXM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNzM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk1PC9jWWVhcj4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI2Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RG9sYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMTk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NzE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTkzPC9jWWVhcj4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U2VtaW5hcnMgaW4gQ2VsbCAmYW1wOyBEZXZlbG9wbWVudGFsIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RWxvPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTA5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDk8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5zZW1jZGIuMjAwOS4wOS4wMDk8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RXRjaGVsbHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjIyNDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEyNDIvZGV2LjA5MTMxNDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjkiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QTE9TIEdlbmV0aWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkV0Y2hlbGxzPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+ODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT5lMTAwMjk5NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEzNzEvam91cm5hbC5wZ2VuLjEwMDI5OTc8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbGVjdWxhciBTeXN0ZW1zIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RnVjaHM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT42PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM3MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTA8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMzgvbXNiLjIwMTAuMjU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpbyBTeXN0ZW1zPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkdyYW5xdmlzdDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjExMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5iaW9zeXN0ZW1zLjIwMTIuMDcuMDA0PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTIiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DdXJyZW50IE9waW5pb24gaW4gUGxhbnQgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Hcm9vdmVyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvai5wYmkuMjAwNS4xMS4wMTM8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SGlyYWthd2E8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjE4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNS90cGMuMTEwLjA3NjA4MzwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjE0Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvY2VlZGluZ3Mgb2YgdGhlIE5hdGlvbmFsIEFjYWRlbXkgb2YgU2NpZW5jZXMgb2YgdGhlIFVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5IaXJha2F3YTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjEwNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTIwODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjEwNzMvcG5hcy4wODA4NDQ0MTA1PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTUiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1leWVyb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT41Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTg5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2LzAwOTItODY3NCg4OSk5MDkwMC04PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbmNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1leWVyb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yOTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTQ4MjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjExMjYvc2NpZW5jZS4xMDY2NjA5PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTciPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QbGFudCBQaHlzaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk5pZW1pbmVuPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTM1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjY1MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjExMDQvcHAuMTA0LjA0MDIxMjwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjE4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIEJpb3RlY2hub2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Tm9ibGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTY1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTAzOC9uYnQxMjA2LTE1NjU8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxOSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb2NlZWRpbmdzIG9mIHRoZSBOYXRpb25hbCBBY2FkZW15IG9mIFNjaWVuY2VzIG9mIHRoZSBVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2E8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+T2xzb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT43Nzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTE2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk4MDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTA3My9wbmFzLjc3LjMuMTUxNjwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIwIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvaW5mb3JtYXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UGF1PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTc5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTA5My9iaW9pbmZvcm1hdGljcy9idHEwNDY8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UmFnbmk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMzIyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTEwNS90cGMuMTExLjA4NDAyMDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjIyIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TYW5rYXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pPjEwLjUwNjEvZHJ5YWQuYjgzNWs8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIyMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkN1cnJlbnQgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TaWJvdXQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40NTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA4PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouY3ViLjIwMDguMDIuMDcwPC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5UaGUgTmV3IFBoeXRvbG9naXN0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlNwaWNlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41Nzc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMTExL2ouMTQ2OS04MTM3LjIwMTAuMDMyMzYueDwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjI1Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWFjaGluZSBWaXNpb24gYW5kIEFwcGxpY2F0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5UaGVyaWF1bHQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42NTk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDA3L3MwMDEzOC0wMTEtMDM0NS05PC9kb2k+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMjYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlV5dHRld2FhbDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE0OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40Mzk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouY2VsbC4yMDEyLjAyLjA0ODwvZG9pPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjI3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIENlbGwgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5ZaW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT44NjA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaT4xMC4xMDM4L25jYjI3NjQ8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICAgIDxjb21wb25lbnRfbGlzdD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPg0KICAgICAgICAgICAgICAgICAgPGI+QWJzdHJhY3Q8L2I+DQogICAgICAgICAgICAgICAgPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJ0ZXh0L3BsYWluIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwMTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPg0KICAgICAgICAgICAgICAgICAgPGI+ZUxpZmUgZGlnZXN0PC9iPg0KICAgICAgICAgICAgICAgIDwvdGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0idGV4dC9wbGFpbiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDI8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDI8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5GaWd1cmUgMS4gQ2VsbHVsYXIgbGV2ZWwgYW5hbHlzaXMgb2YgQXJhYmlkb3BzaXMgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGguPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+DQogICAgICAgICAgICAgICAgICAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBMaWdodCBtaWNyb3Njb3B5IG9mIGNyb3NzIHNlY3Rpb25zIG9idGFpbmVkIGZyb20gQXJhYmlkb3BzaXMgaHlwb2NvdHlscyAob3JnYW4gcG9zaXRpb24gaWxsdXN0cmF0ZWQgZm9yIGEgOS1kYXktb2xkIHNlZWRsaW5nLCBsb3dlciBsZWZ0KSBhdCA5IGRhZyAodXBwZXIgbGVmdCkgYW5kIDM1IGRhZyAocmlnaHQpLiBTaXplIGJhcnMgYXJlIDEwMCDOvG0uIEJsdWUgR1VTIHN0YWluaW5nIGR1ZSB0byB0aGUgcHJlc2VuY2Ugb2YgYW4NCiAgICAgICAgICAgICAgICAgIDxpPkFQTDo6R1VTPC9pPg0KICAgICAgICAgICAgICAgICAgcmVwb3J0ZXIgZ2VuZSBpbiB0aGlzIENvbC0wIGJhY2tncm91bmQgbGluZSBtYXJrcyBwaGxvZW0gYnVuZGxlcy4gKA0KICAgICAgICAgICAgICAgICAgPGI+QjwvYj4NCiAgICAgICAgICAgICAgICAgICkgT3ZlcnZpZXcgb2YgdGhlIGRldmVsb3BtZW50YWwgc2VyaWVzICh0aW1lIHBvaW50cyBhbmQgZGlzdGluY3Qgc2FtcGxlcyBwZXIgZ2Vub3R5cGUpIGFuYWx5emVkIGluIHRoaXMgc3R1ZHkuICgNCiAgICAgICAgICAgICAgICAgIDxiPkM8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgYSBoaWdoLXJlc29sdXRpb24gaHlwb2NvdHlsIHNlY3Rpb24gaW1hZ2UgYXNzZW1ibGVkIGZyb20gMTEgw5cgMTEgdGlsZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkQ8L2I+DQogICAgICAgICAgICAgICAgICApIFRoZSBzYW1lIGltYWdlIGFmdGVyIHByZS1wcm9jZXNzaW5nIGFuZCBiaW5hcml6YXRpb24sIGFuZCAoDQogICAgICAgICAgICAgICAgICA8Yj5FPC9iPg0KICAgICAgICAgICAgICAgICAgKSBzdWJzZXF1ZW50IHNlZ21lbnRhdGlvbiB1c2luZyBhIHdhdGVyc2hlZCBhbGdvcml0aG0uICgNCiAgICAgICAgICAgICAgICAgIDxiPkY8L2I+DQogICAgICAgICAgICAgICAgICApIE51bWJlciBvZiBtaXMtc2VnbWVudGVkIGNlbGxzIGFzIGRldGVybWluZWQgYnkgY2FyZWZ1bCB2aXN1YWwgaW5zcGVjdGlvbiBpbiAxMiBzZWN0aW9ucywgcGxvdHRlZCBhZ2FpbnN0IHRoZSB0b3RhbCBudW1iZXIgb2YgY2VsbHMgcGVyIHNlY3Rpb24gKGxvZyBzY2FsZSkuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwMzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAyLiBUaGUg4oCYUXVhbnRpdGF0aXZlIEhpc3RvbG9neeKAmSBhcHByb2FjaC48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIE92ZXJ2aWV3IG9mIHRoZSBjb21wdXRhdGlvbmFsIHBpcGVsaW5lIGZyb20gaW1hZ2UgYWNxdWlzaXRpb24gdG8gYW5hbHlzaXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIOKAmFBoZW5vcHJpbnRz4oCZIGZvciB0aGUgZGlmZmVyZW50IGdlbm90eXBlcyBhbmQgZGV2ZWxvcG1lbnRhbCBzdGFnZXMuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNDwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNDwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAy4oCUZmlndXJlIHN1cHBsZW1lbnQgMS4gQW4gZXhhbXBsZSBvZiBjbGFzc2lmaWVyIHNlbGVjdGlvbiB0aHJvdWdoIFYtZm9sZCBjcm9zcyB2YWxpZGF0aW9uLjwvdGl0bGU+DQogICAgICAgICAgICAgICAgPHN1YnRpdGxlPlRoZSBncmVlbiBhcnJvdyBwb2ludHMgb3V0IHRoZSBzZWxlY3RlZCBmZWF0dXJlIGNvbWJpbmF0aW9uIGFjY29yZGluZyB0byB0aGUgY3JpdGVyaWEgb2YgbWluaW11bSBudW1iZXIgb2YgZmVhdHVyZXMgd2l0aCB0aGUgaGlnaGVzdCBwZXJmb3JtYW5jZSBhbmQgdGhlIGxvd2VzdCB2YXJpYXRpb24gKHRoZSByYWRpdXNWIGZlYXR1cmUgd2FzIGV4Y2x1ZGVkIGR1ZSB0byBpdHMgcHV0YXRpdmUgdmFyaWF0aW9uIGluIHRpc3N1ZSBsb2NhdGlvbikuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNTwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSAzLiBQcm9ncmVzc2lvbiBvZiB0aXNzdWUgcHJvbGlmZXJhdGlvbi48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIFByaW5jaXBhbCBjb21wb25lbnQgYW5hbHlzaXMgKFBDQSkgb2YgdGhlIHBoZW5vcHJpbnRzIHNob3duIGluIEZpZ3VyZSAyQiwgcGVyZm9ybWVkIHdpdGggbm9ybWFsaXplZCB2YWx1ZXMgKFN1cHBsZW1lbnRhcnkgZmlsZSA0KS4gVGhlIGlubGF5IHNjcmVlcGxvdCBkaXNwbGF5cyB0aGUgcHJvcG9ydGlvbiBvZiB0b3RhbCB2YXJpYXRpb24gZXhwbGFpbmVkIGJ5IGVhY2ggcHJpbmNpcGFsIGNvbXBvbmVudC4gKA0KICAgICAgICAgICAgICAgICAgPGI+QuKAk0U8L2I+DQogICAgICAgICAgICAgICAgICApIENvbXBhcmF0aXZlIHBsb3RzIG9mIHBhcmFtZXRlciBwcm9ncmVzc2lvbiBpbiB0aGUgdHdvIGdlbm90eXBlcy4gSW4gKA0KICAgICAgICAgICAgICAgICAgPGI+RDwvYj4NCiAgICAgICAgICAgICAgICAgICksIHh5bGVtIHJlcHJlc2VudHMgY29tYmluZWQgdmVzc2VsLCBwYXJlbmNoeW1hLCBhbmQgZmliZXIgY2VsbHMsIHBobG9lbSByZXByZXNlbnRzIGNvbWJpbmVkIHBobG9lbSBwYXJlbmNoeW1hIGFuZCBidW5kbGUgY2VsbHMuIEVycm9yIGJhcnMgaW5kaWNhdGUgc3RhbmRhcmQgZXJyb3IuDQogICAgICAgICAgICAgICAgPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwNjwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwNjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSA0LiBCaW1vZGFsIGRpc3RyaWJ1dGlvbiBvZiBpbmNsaW5lIGFuZ2xlIGFjY29yZGluZyB0byBwb3NpdGlvbi48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICBhbmQNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIFNwYXRpYWwgZGlzdHJpYnV0aW9uIG9mIGNlbGwgaW5jbGluZSBhbmdsZSBpbGx1c3RyYXRlcyB0aGUgdmFzY3VsYXIgb3JnYW5pemF0aW9uIGluIExlciAoDQogICAgICAgICAgICAgICAgICA8Yj5CPC9iPg0KICAgICAgICAgICAgICAgICAgKSBhcyBjb21wYXJlZCB0byBDb2wtMCAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBhdCBsYXRlciBzdGFnZXMgb2YgZGV2ZWxvcG1lbnQsIGZvciBleGFtcGxlIDMwIGRhZy4gVGhlIHNpemUgb2YgdGhlIGRpc2MgaW5jcmVhc2VzIHdpdGggdGhlIGFyZWEgb2YgdGhlIGNlbGwuIEJsdWUgY29sb3IgaW5kaWNhdGVzIHJhZGlhbCBjZWxsIG9yaWVudGF0aW9uLCByZWQgb3J0aG9yYWRpYWwuICgNCiAgICAgICAgICAgICAgICAgIDxiPkM8L2I+DQogICAgICAgICAgICAgICAgICBhbmQNCiAgICAgICAgICAgICAgICAgIDxiPkQ8L2I+DQogICAgICAgICAgICAgICAgICApIFZpb2xpbiBwbG90cyBvZiBpbmNsaW5lIGFuZ2xlIGRpc3RyaWJ1dGlvbiwgaWxsdXN0cmF0aW5nIGluY3JlYXNpbmdseSBiaW1vZGFsIGRpc3RyaWJ1dGlvbiBjb2luY2lkZW50IHdpdGggcmVmaW5lZCB2YXNjdWxhciBvcmdhbml6YXRpb24gYW5kIGRpZmZlcmVudCBkeW5hbWljcyBvZiB0aGUgcHJvY2VzcyBpbiB0aGUgdHdvIGdlbm90eXBlcy4NCiAgICAgICAgICAgICAgICA8L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDA3PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDA3PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDTigJRmaWd1cmUgc3VwcGxlbWVudCAxLiBBbiBpbGx1c3RyYXRpb24gb2YgdGhlIGluY2xpbmUgYW5nbGUuPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+VGhlIGluY2xpbmUgaXMgdGhlIGFuZ2xlIGJldHdlZW4gdGhlIHNlY3Rpb24gcmFkaXVzIHRocm91Z2ggdGhlIGNlbnRlciBvZiBhbiBlbGxpcHNlIGZpdCB0byBhIGNlbGwgYW5kIHRoZSBtYWpvciBheGlzIG9mIHRoYXQgZWxsaXBzZSBleHRlbmRlZCB0b3dhcmRzIHRoZSB4IGF4aXMuPC9zdWJ0aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJpbWFnZS90aWZmIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAwODwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAwODwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPkZpZ3VyZSA1LiBEaXN0aW5jdCBsb2NhbCBvcmdhbml6YXRpb24gb2YgaW5jbGluZSBhbmdsZSBkdXJpbmcgaHlwb2NvdHlsIHNlY29uZGFyeSBncm93dGggcHJvZ3Jlc3Npb24uPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8c3VidGl0bGU+DQogICAgICAgICAgICAgICAgICAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAg4oCTDQogICAgICAgICAgICAgICAgICA8Yj5KPC9iPg0KICAgICAgICAgICAgICAgICAgKSBEZW5zaXR5IHBsb3RzIG9mIGNlbGwgaW5jbGluZSBhbmdsZSB2cyByYWRpYWwgcG9zaXRpb24gZm9yIHRoZSB0d28gZ2Vub3R5cGVzIGF0IHRoZSBpbmRpY2F0ZWQgZGV2ZWxvcG1lbnRhbCBzdGFnZXMsIHJlcHJlc2VudGluZyBhbGwgY2VsbHMgYWNyb3NzIGFsbCBzZWN0aW9ucyBmb3IgYSBnaXZlbiB0aW1lIHBvaW50LiBUaGUgcmVkIGxpbmVzIHJlcHJlc2VudCB0aGUgZml0IG9mIHRoZXNlIGNsb3VkIGRpc3RyaWJ1dGlvbnMgd2l0aCBsb2NhbGx5IHdlaWdodGVkIGxpbmVhciByZWdyZXNzaW9uIChpLmUuLCBsb3dlc3MpLCByZXZlYWxpbmcgdGhlIGVzc2VudGlhbCBkYXRhIHRyZW5kcy4gQWxsIHNlY3Rpb25zIHdlcmUgbm9ybWFsaXplZCBmcm9tIDAuMCAodGhlIG1hbnVhbGx5IGRlZmluZWQgY2VudGVyKSB0byAxLjAgKHRoZSBhdmVyYWdlIHJhZGl1cyBpbiBhIHNldCBvZiBzZWN0aW9ucyBhcyBkZXRlcm1pbmVkIGJ5IHRoZSBhdmVyYWdlIGRpc3RhbmNlIG9mIHRoZSBvdXRlcm1vc3QgY2VsbHMgZnJvbSB0aGUgY2VudGVyIGZvciBpbmRpdmlkdWFsIHNlY3Rpb25zKS4gQm94IHBsb3RzIGluZGljYXRlIHRoZSBxdWFydGlsZXMgb2YgdGhlIHJhZGlhbiBkaXN0cmlidXRpb24gZm9yIGVhY2ggY2VsbC10eXBlIGNsYXNzIGFuZCBhcmUgcGxhY2VkIGF0IHRoZSBhdmVyYWdlIHBvc2l0aW9uIG9mIHRoZSBjZWxsIHR5cGUgd2l0aCByZXNwZWN0IHRvIHRoZSB5IGF4aXMuIE91dGxpZXJzIGFyZSBzaG93biBhcyBjaXJjbGVzLg0KICAgICAgICAgICAgICAgIDwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDk8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMDk8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5GaWd1cmUgNeKAlGZpZ3VyZSBzdXBwbGVtZW50IDEuIEFuYWx5c2lzIG9mIGNlbGwgbnVtYmVyIGluIGRlZmluZWQgeHlsZW0gcmVnaW9ucyBvZiBkaWZmZXJlbnQgc2l6ZS48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT5DZWxsIG51bWJlciBpbiBhIGNpcmNsZSBvZiAyMDDigJM1MDAgcGl4ZWxzIGFyb3VuZCB0aGUgc2VjdGlvbiBjZW50ZXJzIGZvciBDb2wtMC4gQ2VsbCBjb3VudCBpbiBhIGNvbnN0YW50IGFyZWEgb2YgeHlsZW0gb3ZlciB0aW1lIGFjcm9zcyBhbGwgYXZlcmFnZWQgYWNyb3NzIGFsbCBzZWN0aW9ucy48L3N1YnRpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImltYWdlL3RpZmYiIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDEwPC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDEwPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+RmlndXJlIDYuIE1hcHBpbmcgb2YgcGhsb2VtIHBvbGUgcGF0dGVybmluZy48L3RpdGxlPg0KICAgICAgICAgICAgICAgIDxzdWJ0aXRsZT4NCiAgICAgICAgICAgICAgICAgICgNCiAgICAgICAgICAgICAgICAgIDxiPkE8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgR2F1c3NpYW4ga2VybmVsIGRlbnNpdHkgZXN0aW1hdGUgb2YgdGhlIGxvY2F0aW9uIG9mIHByZWRpY3RlZCBwaGxvZW0gYnVuZGxlcyBjZWxscyBpbiBhIDMwIGRhZyBDb2wtMCBzZWN0aW9uLiBIaWdoIGRlbnNpdHkgcmVwcmVzZW50cyBwaGxvZW0gcG9sZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIEV4YW1wbGUgb2YgYW4gYW5hbHlzaXMgb2YgZW1lcmdpbmcgcGhsb2VtIHBvbGUgcG9zaXRpb24gaW4gYSAzMCBkYWcgQ29sLTAgc2VjdGlvbi4gVGhlIHBsb3QgcmVwcmVzZW50cyBhIHBpeGVsIGludGVuc2l0eSBtYXAgYWZ0ZXIgbm9pc2UgcmVkdWN0aW9uIGFsb25nIGEgY2lyY3VsYXIgcmVnaW9uIG9mIGludGVyZXN0IGFjcm9zcyB0aGUgZW1lcmdpbmcgcGhsb2VtIHBvbGVzLiBJbnRlbnNpdHkgcGVha3MgYXJlIGR1ZSB0byBHVVMgc3RhaW5pbmcgY29uZmVycmVkIHRvIHBobG9lbSBidW5kbGVzIGJ5IGFuDQogICAgICAgICAgICAgICAgICA8aT5BUEw6OkdVUzwvaT4NCiAgICAgICAgICAgICAgICAgIHJlcG9ydGVyIGNvbnN0cnVjdC4gKA0KICAgICAgICAgICAgICAgICAgPGI+QzwvYj4NCiAgICAgICAgICAgICAgICAgICkgUHJvYmFiaWxpdHkgZGVuc2l0eSBmdW5jdGlvbiBvZiB0aGUgZGF0YSBzaG93biBpbiAoDQogICAgICAgICAgICAgICAgICA8Yj5CPC9iPg0KICAgICAgICAgICAgICAgICAgKSBvYnRhaW5lZCBmcm9tIGFuIGF1dG9tYXRlZCBCYXllc2lhbiBtb2RlbC4gVGhlIGRvbWluYW50IHNpbmdsZSBwZWFrIGluZGljYXRlcyBhIGNvbnN0YW50IGFyYyBkaXN0YW5jZSBvZiBjYS4gNjIgcGl4ZWwgYmV0d2VlbiB0aGUgcGhsb2VtIHBvbGVzLg0KICAgICAgICAgICAgICAgIDwvc3VidGl0bGU+DQogICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICA8Zm9ybWF0IG1pbWVfdHlwZT0iaW1hZ2UvdGlmZiIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTE8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTE8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNSZWZlcmVuY2VkQnkiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT4NCiAgICAgICAgICAgICAgICAgIFN1cHBsZW1lbnRhcnkgZmlsZSAxLiAoDQogICAgICAgICAgICAgICAgICA8Yj5BPC9iPg0KICAgICAgICAgICAgICAgICAgKSBBbiBleHBsYW5hdGlvbiBvZiB0aGUgZXh0cmFjdGVkIHBhcmFtZXRlcnMgdGhhdCBkZXNjcmliZSB0aGUgY2VsbHVsYXIgZmVhdHVyZXMuICgNCiAgICAgICAgICAgICAgICAgIDxiPkI8L2I+DQogICAgICAgICAgICAgICAgICApIFN1bW1hcnkgaW5mb3JtYXRpb24gb2YgdGhlIGhhbmQtbGFiZWxlZCB0cmFpbmluZyBzZXQgZm9yIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZy4gKA0KICAgICAgICAgICAgICAgICAgPGI+QzwvYj4NCiAgICAgICAgICAgICAgICAgICkgRGVmaW5pdGlvbiBvZiB0aGUgY2xhc3NpZmllcnMgc2VsZWN0ZWQgZm9yIGFuYWx5c2lzLiAoDQogICAgICAgICAgICAgICAgICA8Yj5EPC9iPg0KICAgICAgICAgICAgICAgICAgKSBTdW1tYXJ5IG9mIHRoZSBjbGFzc2lmaWVyIHBhcmFtZXRlcnMgZm9yIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZy4gKA0KICAgICAgICAgICAgICAgICAgPGI+RTwvYj4NCiAgICAgICAgICAgICAgICAgICkgT3ZlcnZpZXcgb2YgdGhlIGNlbGwgdHlwZSBjbGFzc2VzIHJlY29nbml6ZWQgYnkgdGhlIHN1cGVydmlzZWQgbWFjaGluZSBsZWFybmluZyBhcHByb2FjaCBhbmQgdGhlaXIgYXNzaWdubWVudCBjb2RlcyB1c2VkIGluIERhdGEgRmlsZXMgMyBhbmQgNC4NCiAgICAgICAgICAgICAgICA8L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMjwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1JlZmVyZW5jZWRCeSI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1lbnRhcnkgZmlsZSAyLiBRdWFsaXR5IGNvbnRyb2wgZmlsZXMgZm9yIHRoZSBDb2wtMCBzZWN0aW9ucy48L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0IiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxMzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1JlZmVyZW5jZWRCeSI+DQogICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgPHRpdGxlPlN1cHBsZW1lbnRhcnkgZmlsZSAzLiBRdWFsaXR5IGNvbnRyb2wgZmlsZXMgZm9yIHRoZSBMZXIgc2VjdGlvbnMuPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTQ8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTQ8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNSZWZlcmVuY2VkQnkiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5TdXBwbGVtZW50YXJ5IGZpbGUgNC4gVGhlIG5vcm1hbGl6ZWQgdmFsdWVzIG9mIHRoZSBwaGVub3ByaW50cyAoRmlndXJlIDJCKSB1c2VkIGZvciBQQ0EuPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCIgLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTU8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2VsaWZlc2NpZW5jZXMub3JnL2xvb2t1cC9kb2kvMTAuNzU1NC9lTGlmZS4wMTU2Ny4wMTU8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT4NCiAgICAgICAgICAgICAgICAgIDxiPkRlY2lzaW9uIGxldHRlcjwvYj4NCiAgICAgICAgICAgICAgICA8L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPGZvcm1hdCBtaW1lX3R5cGU9InRleHQvcGxhaW4iIC8+DQogICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8ZG9pPjEwLjc1NTQvZUxpZmUuMDE1NjcuMDE2PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9lbGlmZXNjaWVuY2VzLm9yZy9sb29rdXAvZG9pLzEwLjc1NTQvZUxpZmUuMDE1NjcuMDE2PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICA8dGl0bGU+DQogICAgICAgICAgICAgICAgICA8Yj5BdXRob3IgcmVzcG9uc2U8L2I+DQogICAgICAgICAgICAgICAgPC90aXRsZT4NCiAgICAgICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgICAgIDxmb3JtYXQgbWltZV90eXBlPSJ0ZXh0L3BsYWluIiAvPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjAxNTY3LjAxNzwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZWxpZmVzY2llbmNlcy5vcmcvbG9va3VwL2RvaS8xMC43NTU0L2VMaWZlLjAxNTY3LjAxNzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICA8L2NvbXBvbmVudF9saXN0Pg0KICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgIDwvam91cm5hbD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2RvaV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
102
104
  http_version:
103
- recorded_at: Sat, 22 Jul 2017 20:28:54 GMT
105
+ recorded_at: Sat, 29 Jul 2017 13:43:24 GMT
104
106
  recorded_with: VCR 3.0.3