enju_biblio 0.3.8 → 0.3.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/content_types_controller.rb +1 -1
  3. data/app/controllers/item_custom_properties_controller.rb +69 -0
  4. data/app/controllers/items_controller.rb +2 -3
  5. data/app/controllers/manifestation_custom_properties_controller.rb +69 -0
  6. data/app/controllers/manifestations_controller.rb +12 -15
  7. data/app/controllers/resource_import_results_controller.rb +6 -2
  8. data/app/models/agent.rb +6 -6
  9. data/app/models/agent_import_file.rb +7 -7
  10. data/app/models/agent_type.rb +0 -1
  11. data/app/models/carrier_type.rb +0 -1
  12. data/app/models/content_type.rb +0 -1
  13. data/app/models/form_of_work.rb +1 -2
  14. data/app/models/frequency.rb +0 -1
  15. data/app/models/identifier_type.rb +0 -1
  16. data/app/models/item.rb +15 -16
  17. data/app/models/item_custom_property.rb +18 -0
  18. data/app/models/item_custom_value.rb +17 -0
  19. data/app/models/license.rb +0 -1
  20. data/app/models/manifestation.rb +54 -22
  21. data/app/models/manifestation_custom_property.rb +18 -0
  22. data/app/models/manifestation_custom_value.rb +17 -0
  23. data/app/models/medium_of_performance.rb +1 -2
  24. data/app/models/picture_file.rb +0 -2
  25. data/app/models/resource_export_file.rb +4 -2
  26. data/app/models/resource_import_file.rb +157 -67
  27. data/app/policies/item_custom_property_policy.rb +21 -0
  28. data/app/policies/manifestation_custom_property_policy.rb +21 -0
  29. data/app/views/agent_import_results/index.txt.ruby +5 -0
  30. data/app/views/agent_relationship_types/_form.html.erb +1 -1
  31. data/app/views/agent_types/_form.html.erb +1 -1
  32. data/app/views/carrier_types/_form.html.erb +1 -1
  33. data/app/views/create_types/_form.html.erb +1 -1
  34. data/app/views/form_of_works/_form.html.erb +1 -1
  35. data/app/views/frequencies/_form.html.erb +1 -1
  36. data/app/views/item_custom_properties/_form.html.erb +32 -0
  37. data/app/views/item_custom_properties/edit.html.erb +13 -0
  38. data/app/views/item_custom_properties/index.html.erb +43 -0
  39. data/app/views/item_custom_properties/new.html.erb +12 -0
  40. data/app/views/item_custom_properties/show.html.erb +28 -0
  41. data/app/views/items/_form.html.erb +13 -10
  42. data/app/views/items/show.html.erb +3 -4
  43. data/app/views/licenses/_form.html.erb +1 -1
  44. data/app/views/manifestation_custom_properties/_form.html.erb +32 -0
  45. data/app/views/manifestation_custom_properties/edit.html.erb +13 -0
  46. data/app/views/manifestation_custom_properties/index.html.erb +43 -0
  47. data/app/views/manifestation_custom_properties/new.html.erb +12 -0
  48. data/app/views/manifestation_custom_properties/show.html.erb +28 -0
  49. data/app/views/manifestation_relationship_types/_form.html.erb +1 -1
  50. data/app/views/manifestations/_export_detail.html.erb +1 -0
  51. data/app/views/manifestations/_export_list.html.erb +1 -0
  52. data/app/views/manifestations/_form.html.erb +18 -10
  53. data/app/views/manifestations/_show_detail_librarian.html.erb +9 -3
  54. data/app/views/manifestations/_show_detail_user.html.erb +8 -0
  55. data/app/views/manifestations/show.json.jbuilder +2 -0
  56. data/app/views/medium_of_performances/_form.html.erb +1 -1
  57. data/app/views/picture_files/edit.html.erb +4 -0
  58. data/app/views/produce_types/_form.html.erb +1 -1
  59. data/app/views/realize_types/_form.html.erb +1 -1
  60. data/app/views/resource_import_results/index.txt.ruby +5 -0
  61. data/app/views/series_statement_merges/_form.html.erb +1 -1
  62. data/config/locales/translation_en.yml +22 -8
  63. data/config/locales/translation_ja.yml +22 -8
  64. data/config/routes.rb +2 -0
  65. data/db/migrate/20081027150907_create_picture_files.rb +0 -2
  66. data/db/migrate/20200425072340_create_manifestation_custom_properties.rb +12 -0
  67. data/db/migrate/20200425072349_create_item_custom_properties.rb +12 -0
  68. data/db/migrate/20200425074758_create_manifestation_custom_values.rb +12 -0
  69. data/db/migrate/20200425074822_create_item_custom_values.rb +12 -0
  70. data/lib/enju_biblio/version.rb +1 -1
  71. data/spec/cassette_library/ResourceImportFile/when_its_mode_is_create_/when_it_is_written_in_utf-8/should_import_custom_values.yml +121 -0
  72. data/spec/cassette_library/resource_import_results/index_txt_ruby/renders_a_list_of_resource_import_results.yml +121 -0
  73. data/spec/controllers/content_types_controller_spec.rb +1 -1
  74. data/spec/controllers/item_custom_properties_controller_spec.rb +449 -0
  75. data/spec/controllers/items_controller_spec.rb +22 -25
  76. data/spec/controllers/manifestation_custom_properties_controller_spec.rb +449 -0
  77. data/spec/controllers/manifestations_controller_spec.rb +20 -23
  78. data/spec/dummy/db/schema.rb +43 -12
  79. data/spec/factories/item_custom_property.rb +6 -0
  80. data/spec/factories/item_custom_value.rb +6 -0
  81. data/spec/factories/manifestation_custom_property.rb +6 -0
  82. data/spec/factories/manifestation_custom_value.rb +6 -0
  83. data/spec/fixtures/creates.yml +2 -0
  84. data/spec/fixtures/item_custom_properties.yml +24 -0
  85. data/spec/fixtures/library_groups.yml +29 -15
  86. data/spec/fixtures/manifestation_custom_properties.yml +24 -0
  87. data/spec/fixtures/picture_files.yml +0 -2
  88. data/spec/fixtures/produces.yml +2 -0
  89. data/spec/fixtures/realizes.yml +2 -0
  90. data/spec/fixtures/resource_import_results.yml +2 -2
  91. data/spec/models/item_custom_property_spec.rb +18 -0
  92. data/spec/models/item_custom_value_spec.rb +17 -0
  93. data/spec/models/manifestation_custom_property_spec.rb +18 -0
  94. data/spec/models/manifestation_custom_value_spec.rb +17 -0
  95. data/spec/models/manifestation_spec.rb +11 -21
  96. data/spec/models/picture_file_spec.rb +0 -2
  97. data/spec/models/resource_export_file_spec.rb +61 -8
  98. data/spec/models/resource_import_file_spec.rb +43 -13
  99. data/spec/requests/item_custom_properties_spec.rb +129 -0
  100. data/spec/requests/manifestation_custom_properties_spec.rb +129 -0
  101. data/spec/routing/item_custom_properties_routing_spec.rb +38 -0
  102. data/spec/routing/manifestation_custom_properties_routing_spec.rb +38 -0
  103. data/spec/system/items_spec.rb +12 -0
  104. data/spec/system/manifestations_spec.rb +12 -0
  105. data/spec/views/agent_import_results/index.html.erb_spec.rb +29 -0
  106. data/spec/views/agent_import_results/index.txt.ruby_spec.rb +20 -0
  107. data/spec/views/agent_import_results/show.html.erb_spec.rb +24 -0
  108. data/spec/views/item_custom_properties/edit.html.erb_spec.rb +21 -0
  109. data/spec/views/item_custom_properties/index.html.erb_spec.rb +25 -0
  110. data/spec/views/item_custom_properties/new.html.erb_spec.rb +21 -0
  111. data/spec/views/item_custom_properties/show.html.erb_spec.rb +16 -0
  112. data/spec/views/manifestation_custom_properties/edit.html.erb_spec.rb +21 -0
  113. data/spec/views/manifestation_custom_properties/index.html.erb_spec.rb +25 -0
  114. data/spec/views/manifestation_custom_properties/new.html.erb_spec.rb +21 -0
  115. data/spec/views/manifestation_custom_properties/show.html.erb_spec.rb +16 -0
  116. data/spec/views/manifestations/show.json.jbuilder_spec.rb +16 -0
  117. data/spec/views/manifestations/show.txt.ruby_spec.rb +1 -1
  118. data/spec/views/resource_import_results/index.txt.ruby_spec.rb +22 -0
  119. data/spec/views/resource_import_results/show.html.erb_spec.rb +1 -1
  120. metadata +118 -37
  121. data/app/models/custom_property.rb +0 -17
  122. data/app/views/agent_import_results/index.txt.erb +0 -3
  123. data/app/views/items/_custom_property_fields.html.erb +0 -7
  124. data/app/views/manifestations/_custom_property_fields.html.erb +0 -7
  125. data/app/views/resource_import_results/index.txt.erb +0 -3
  126. data/db/migrate/20191219122214_create_custom_properties.rb +0 -12
  127. data/spec/factories/custom_property.rb +0 -18
  128. data/spec/models/custom_property_spec.rb +0 -18
  129. data/spec/system/custom_properties_spec.rb +0 -84
@@ -0,0 +1,121 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://iss.ndl.go.jp/api/opensearch?cnt=10&dpid=iss-ndl-opac&idx=1&isbn=9784798002064&mediatype=1
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Sun, 19 Apr 2020 10:32:19 GMT
23
+ Etag:
24
+ - '"b89075dfb9211a6e7a4cb5253a1ba52e"'
25
+ X-Ua-Compatible:
26
+ - IE=Edge,chrome=1
27
+ Cache-Control:
28
+ - max-age=0, private, must-revalidate
29
+ X-Runtime:
30
+ - '0.063600'
31
+ Content-Length:
32
+ - '4838'
33
+ Status:
34
+ - '200'
35
+ Content-Type:
36
+ - application/xml; charset=utf-8
37
+ Set-Cookie:
38
+ - HTTP_Z308_KEY_DATA_01=; domain=.ndl.go.jp; path=/; expires=Thu, 01-Jan-1970
39
+ 00:00:00 GMT
40
+ - ROUTEID=.ps25; path=/
41
+ - TS0162cc8a=011338590a5921d481b30b51d93e7516be497a46685921d3fdd85f3062c48ca616ddbd46fda09749dc020d5841d8dc7e79f6d75cfb98d5c433dc43ebc3be78e2c55eef63751afd11da82b6399494a3e67133e37f53;
42
+ path=/; domain=.ndl.go.jp
43
+ - TS01f3cfdf=011338590a76aba2f26c44c1693b51877c129086a78aba5ef38bce5abd5921f3f7d9ebb16a2f701b35da4b27163ee5bf6b45c8d55eac5238b0a5b004d9be97fe7118c69718000869d7a56f638de53465787bc49b2baa92f9ea6be11b8ca3ca39df2122cdd5;
44
+ Path=/
45
+ - _front_session_id=4c19d7437b10f4ff999b0878afac0305;Secure; path=/; expires=Sun,
46
+ 19-Apr-2020 11:32:19 GMT; HttpOnly
47
+ - cookieId=;secure; domain=.ndl.go.jp; path=/; expires=Thu, 01-Jan-1970 00:00:00
48
+ GMT
49
+ - ndl.go.jp=rd2o00000000000000000000ffff0a024f75o80; path=/
50
+ - serverid=1103; path=/
51
+ - sessionId=; domain=.ndl.go.jp; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT
52
+ X-Content-Type-Options:
53
+ - nosniff
54
+ X-Frame-Options:
55
+ - SAMEORIGIN
56
+ body:
57
+ encoding: ASCII-8BIT
58
+ string: !binary |-
59
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJzcyB2ZXJzaW9uPSIyLjAiIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpkY3Rlcm1zPSJodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIiB4bWxuczpyZGZzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIiB4bWxuczpkY21pdHlwZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlLyIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6ZGNuZGw9Imh0dHA6Ly9uZGwuZ28uanAvZGNuZGwvdGVybXMvIiB4bWxuczpvcGVuU2VhcmNoPSJodHRwOi8vYTkuY29tLy0vc3BlYy9vcGVuc2VhcmNocnNzLzEuMC8iPgogIDxjaGFubmVsPgogICAgPHRpdGxlPjEgOTc4NDc5ODAwMjA2NCBpc3MtbmRsLW9wYWMgLSDlm73nq4vlm73kvJrlm7Pmm7jppKjjgrXjg7zjg4EgT3BlblNlYXJjaDwvdGl0bGU+CiAgICA8bGluaz5odHRwczovL2lzcy5uZGwuZ28uanAvYXBpL29wZW5zZWFyY2g/bWVkaWF0eXBlPTEmYW1wO2lkeD0xJmFtcDtpc2JuPTk3ODQ3OTgwMDIwNjQmYW1wO2RwaWQ9aXNzLW5kbC1vcGFjJmFtcDtjbnQ9MTA8L2xpbms+CiAgICA8ZGVzY3JpcHRpb24+U2VhcmNoIHJlc3VsdHMgZm9yIG1lZGlhdHlwZT0xIGlzYm49OTc4NDc5ODAwMjA2NCBjbnQ9MTAgZHBpZD1pc3MtbmRsLW9wYWMgPC9kZXNjcmlwdGlvbj4KICAgIDxsYW5ndWFnZT5qYTwvbGFuZ3VhZ2U+CiAgICA8b3BlblNlYXJjaDp0b3RhbFJlc3VsdHM+MTwvb3BlblNlYXJjaDp0b3RhbFJlc3VsdHM+CiAgICA8b3BlblNlYXJjaDpzdGFydEluZGV4PjE8L29wZW5TZWFyY2g6c3RhcnRJbmRleD4KICAgIDxvcGVuU2VhcmNoOml0ZW1zUGVyUGFnZT4xMDwvb3BlblNlYXJjaDppdGVtc1BlclBhZ2U+CiAgICA8aXRlbT4KICAgICAgPHRpdGxlPuOCiOOBj+OCj+OBi+OCi+acgOaWsFdlYuOCteODvOODk+OCueaKgOihk+OBruWfuuacrOOBqOS7lee1hOOBvyA6IOaomea6lldlYuOCt+OCueODhuODoOaKgOihk+OBqGXjgrPjg57jg7zjgrnln7rnm6TmioDooZPlhaXploA8L3RpdGxlPgogICAgICA8bGluaz5odHRwczovL2lzcy5uZGwuZ28uanAvYm9va3MvUjEwMDAwMDAwMi1JMDAwMDAzMDQ2NTQ2LTAwPC9saW5rPgo8ZGVzY3JpcHRpb24+CjwhW0NEQVRBWzxwPuengOWSjOOCt+OCueODhuODoCw0Nzk4MDAyMDYyPC9wPgo8dWw+PGxpPuOCv+OCpOODiOODq++8miDjgojjgY/jgo/jgYvjgovmnIDmlrBXZWLjgrXjg7zjg5PjgrnmioDooZPjga7ln7rmnKzjgajku5XntYTjgb8gOiDmqJnmupZXZWLjgrfjgrnjg4bjg6DmioDooZPjgahl44Kz44Oe44O844K55Z+655uk5oqA6KGT5YWl6ZaAPC9saT4KPGxpPuOCv+OCpOODiOODq++8iOiqreOBv++8ie+8miDjg6jjgq8g44Ov44Kr44OrIOOCteOCpOOCt+ODsyBXZWIg44K144O844OT44K5IOOCruOCuOODpeODhCDjg44g44Kt44Ob44OzIOODiCDjgrfjgq/jg58gOiDjg5Ljg6fjgqbjgrjjg6Xjg7MgV2ViIOOCt+OCueODhuODoCDjgq7jgrjjg6Xjg4Qg44OIIGXjgrPjg57jg7zjgrkg44Kt44OQ44OzIOOCruOCuOODpeODhCDjg4vjg6Xjgqbjg6Ljg7M8L2xpPgo8bGk+6LKs5Lu76KGo56S677yaIOWwj+agl+S4gOWkqywg5pep5bed6IGW5Y+4IOWFseiRlyw8L2xpPgo8bGk+44K344Oq44O844K65ZCN77yaIOWbs+ino+WFpemWgDwvbGk+CjxsaT7jgrfjg6rjg7zjgrrlkI3vvIjoqq3jgb/vvInvvJog44K644Kr44KkIOODi+ODpeOCpuODouODszwvbGk+CjxsaT5OREMoOSnvvJogNTQ3LjQ4MzwvbGk+CjwvdWw+XV0+CjwvZGVzY3JpcHRpb24+CiAgICAgIDxhdXRob3I+5bCP5qCX5LiA5aSrLCDml6nlt53ogZblj7gg5YWx6JGXLOWwj+aglywg5LiA5aSrLCAxOTUwLSzml6nlt50sIOiBluWPuCwgMTk2NS0sPC9hdXRob3I+CiAgICAgIDxjYXRlZ29yeT7mnKw8L2NhdGVnb3J5PgogICAgICA8Z3VpZCBpc1Blcm1hTGluaz0idHJ1ZSI+aHR0cHM6Ly9pc3MubmRsLmdvLmpwL2Jvb2tzL1IxMDAwMDAwMDItSTAwMDAwMzA0NjU0Ni0wMDwvZ3VpZD4KICAgICAgPHB1YkRhdGU+RnJpLCAxMCBTZXAgMjAwNCAwOTowMDowMCArMDkwMDwvcHViRGF0ZT4KICAgICAgPGRjOnRpdGxlPuOCiOOBj+OCj+OBi+OCi+acgOaWsFdlYuOCteODvOODk+OCueaKgOihk+OBruWfuuacrOOBqOS7lee1hOOBvyA6IOaomea6lldlYuOCt+OCueODhuODoOaKgOihk+OBqGXjgrPjg57jg7zjgrnln7rnm6TmioDooZPlhaXploA8L2RjOnRpdGxlPgogICAgICA8ZGNuZGw6dGl0bGVUcmFuc2NyaXB0aW9uPuODqOOCryDjg6/jgqvjg6sg44K144Kk44K344OzIFdlYiDjgrXjg7zjg5Pjgrkg44Ku44K444Ol44OEIOODjiDjgq3jg5vjg7Mg44OIIOOCt+OCr+ODnyA6IOODkuODp+OCpuOCuOODpeODsyBXZWIg44K344K544OG44OgIOOCruOCuOODpeODhCDjg4ggZeOCs+ODnuODvOOCuSDjgq3jg5Djg7Mg44Ku44K444Ol44OEIOODi+ODpeOCpuODouODszwvZGNuZGw6dGl0bGVUcmFuc2NyaXB0aW9uPgogICAgICA8ZGM6Y3JlYXRvcj7lsI/moJcsIOS4gOWkqywgMTk1MC08L2RjOmNyZWF0b3I+CiAgICAgIDxkYzpjcmVhdG9yPuaXqeW3nSwg6IGW5Y+4LCAxOTY1LTwvZGM6Y3JlYXRvcj4KICAgICAgPGRjbmRsOmNyZWF0b3JUcmFuc2NyaXB0aW9uPuOCquOCsOODqiwg44Kr44K644KqPC9kY25kbDpjcmVhdG9yVHJhbnNjcmlwdGlvbj4KICAgICAgPGRjbmRsOmNyZWF0b3JUcmFuc2NyaXB0aW9uPuODj+ODpOOCq+ODrywg44K744Kk44K4PC9kY25kbDpjcmVhdG9yVHJhbnNjcmlwdGlvbj4KICAgICAgPGRjbmRsOnNlcmllc1RpdGxlPuWbs+ino+WFpemWgDwvZGNuZGw6c2VyaWVzVGl0bGU+CiAgICAgIDxkY25kbDpzZXJpZXNUaXRsZVRyYW5zY3JpcHRpb24+44K644Kr44KkIOODi+ODpeOCpuODouODszwvZGNuZGw6c2VyaWVzVGl0bGVUcmFuc2NyaXB0aW9uPgogICAgICA8ZGM6cHVibGlzaGVyPuengOWSjOOCt+OCueODhuODoDwvZGM6cHVibGlzaGVyPgogICAgICA8ZGN0ZXJtczppc3N1ZWQgeHNpOnR5cGU9ImRjdGVybXM6VzNDRFRGIj4yMDAxPC9kY3Rlcm1zOmlzc3VlZD4KICAgICAgPGRjbmRsOnByaWNlPjE4MDDlhoY8L2RjbmRsOnByaWNlPgogICAgICA8ZGM6ZXh0ZW50PjI0N3AgOyAyMWNtPC9kYzpleHRlbnQ+CiAgICAgIDxkYzppZGVudGlmaWVyIHhzaTp0eXBlPSJkY25kbDpJU0JOIj40Nzk4MDAyMDYyPC9kYzppZGVudGlmaWVyPgogICAgICA8ZGM6aWRlbnRpZmllciB4c2k6dHlwZT0iZGNuZGw6TkRMQmliSUQiPjAwMDAwMzA0NjU0NjwvZGM6aWRlbnRpZmllcj4KICAgICAgPGRjOmlkZW50aWZpZXIgeHNpOnR5cGU9ImRjbmRsOkpQTk8iPjIwMjIyODE4PC9kYzppZGVudGlmaWVyPgogICAgICA8ZGM6c3ViamVjdD7jgqTjg7Pjgr/jg7zjg43jg4Pjg4g8L2RjOnN1YmplY3Q+CiAgICAgIDxkYzpzdWJqZWN0IHhzaTp0eXBlPSJkY25kbDpORExDIj5ORDYzMzwvZGM6c3ViamVjdD4KICAgICAgPGRjOnN1YmplY3QgeHNpOnR5cGU9ImRjbmRsOk5EQzkiPjU0Ny40ODM8L2RjOnN1YmplY3Q+CiAgICAgIDxyZGZzOnNlZUFsc28gcmRmOnJlc291cmNlPSJodHRwOi8vaWQubmRsLmdvLmpwL2JpYi8wMDAwMDMwNDY1NDYiLz4KICAgICAgPHJkZnM6c2VlQWxzbyByZGY6cmVzb3VyY2U9Imh0dHA6Ly93ZWIub21sLmNpdHkub3Nha2EubGcuanAvd2Vib3BhY19pX2phLzAwMTAxOTY3NzkiLz4KICAgICAgPHJkZnM6c2VlQWxzbyByZGY6cmVzb3VyY2U9Imh0dHBzOi8vd3d3LmxpYnJhcnkucHJlZi5vc2FrYS5qcC9saWNzeHAtb3BhYy9XT3BhY01zZ05ld0xpc3RUb1RpZlRpbERldGFpbEFjdGlvbi5kbz90aWxjb2Q9MTAwMDAwMDE3NzY3NTEiLz4KICAgICAgPHJkZnM6c2VlQWxzbyByZGY6cmVzb3VyY2U9Imh0dHA6Ly93ZWJzdi5haWNoaS1wcmVmLWxpYnJhcnkuanAvd2luai9vcGFjL3N3aXRjaC1kZXRhaWwtaWNjYXAuZG8/YmliaWQ9MTE2MDI0NTg1NSIvPgogICAgICA8cmRmczpzZWVBbHNvIHJkZjpyZXNvdXJjZT0iaHR0cDovL29wYWMxLmxpYnJhcnkucHJlZi5taWUubGcuanAvd2luai9vcGFjL3N3aXRjaC1kZXRhaWwtaWNjYXAuZG8/YmliaWQ9MTEwMTg3MDkxMyIvPgogICAgICA8cmRmczpzZWVBbHNvIHJkZjpyZXNvdXJjZT0iaHR0cDovL3d3dy5saWJyYXJ5LnByZWYuZ2lmdS5sZy5qcC93aW5qL29wYWMvc3dpdGNoLWRldGFpbC1pY2NhcC5kbz9iaWJpZD0xMTAwMDM3MTk5Ii8+CiAgICAgIDxyZGZzOnNlZUFsc28gcmRmOnJlc291cmNlPSJodHRwczovL2NhdGFsb2cubGlicmFyeS5tZXRyby50b2t5by5qcC93aW5qL29wYWMvc3dpdGNoLWRldGFpbC1pY2NhcC5kbz9iaWJpZD0xMTA1NDkzOTE1Ii8+CiAgICAgIDxyZGZzOnNlZUFsc28gcmRmOnJlc291cmNlPSJodHRwczovL3d3dy5saWItc2FrYWkuanAvbGljc3hwLW9wYWMvV09wYWNNc2dOZXdMaXN0VG9UaWZUaWxEZXRhaWxBY3Rpb24uZG8/dGlsY29kPTEwMDAwMDE0NDczNjkiLz4KICAgICAgPHJkZnM6c2VlQWxzbyByZGY6cmVzb3VyY2U9Imh0dHBzOi8vYWxpc2xpYm9wYWMudG9rdXNoaW1hLWVjLmVkLmpwL3dpbmovb3BhYy9zd2l0Y2gtZGV0YWlsLWljY2FwLmRvP2JpYmlkPTExMDExMjMxNjciLz4KICAgICAgPHJkZnM6c2VlQWxzbyByZGY6cmVzb3VyY2U9Imh0dHBzOi8vd3d3Mi50b3Nob2thbi5jaXR5LnNoaXp1b2thLmpwL3dpbmovb3BhYy9zd2l0Y2gtZGV0YWlsLWljY2FwLmRvP2JpYmlkPTExMDAxNzA1ODgiLz4KICAgIDwvaXRlbT4KICA8L2NoYW5uZWw+CjwvcnNzPgo=
60
+ http_version: null
61
+ recorded_at: Sun, 19 Apr 2020 10:32:19 GMT
62
+ - request:
63
+ method: get
64
+ uri: https://iss.ndl.go.jp/books/R100000002-I000003046546-00.rdf
65
+ body:
66
+ encoding: US-ASCII
67
+ string: ''
68
+ headers:
69
+ User-Agent:
70
+ - Faraday v1.0.1
71
+ Accept-Encoding:
72
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
73
+ Accept:
74
+ - "*/*"
75
+ response:
76
+ status:
77
+ code: 200
78
+ message: OK
79
+ headers:
80
+ Date:
81
+ - Sun, 19 Apr 2020 10:32:19 GMT
82
+ Etag:
83
+ - '"00fa364fc2cde52aa9faeaef2d714432"'
84
+ X-Runtime:
85
+ - '0.330368'
86
+ X-Ua-Compatible:
87
+ - IE=Edge,chrome=1
88
+ Cache-Control:
89
+ - max-age=0, private, must-revalidate
90
+ Content-Length:
91
+ - '14593'
92
+ Status:
93
+ - '200'
94
+ Content-Type:
95
+ - application/rdf+xml; charset=utf-8
96
+ Set-Cookie:
97
+ - HTTP_Z308_KEY_DATA_01=; domain=.ndl.go.jp; path=/; expires=Thu, 01-Jan-1970
98
+ 00:00:00 GMT
99
+ - ROUTEID=.ps22; path=/
100
+ - TS0162cc8a=011338590a293b91206bc0790b3e4d5ff31ba446fb66273ea7bdbb6c712817c80065e4ac37751030723a973fc2295ddb523dae60c41b8c247b6c76e0a7cb3f7963a5c8e87b41692bfea1d3f86cafbe7f1ee6526f08;
101
+ path=/; domain=.ndl.go.jp
102
+ - TS01f3cfdf=011338590a5f24508108c5cdd5217f439f806e073f9e7d0b27d892a0e64265f53acd9492ec1686d58bc396850fb984f9ff6977aeb279f758582ce45123af235f5254ba9970120acd9bb3a7531f68e16843548645c68d3f6b3dfea94a4279e71663029f37d5;
103
+ Path=/
104
+ - _front_session_id=e910a3ecad4e9819c49a65a54fc9b631;Secure; path=/; expires=Sun,
105
+ 19-Apr-2020 11:32:19 GMT; HttpOnly
106
+ - cookieId=;secure; domain=.ndl.go.jp; path=/; expires=Thu, 01-Jan-1970 00:00:00
107
+ GMT
108
+ - ndl.go.jp=rd2o00000000000000000000ffff0a024f76o80; path=/
109
+ - serverid=1103; path=/
110
+ - sessionId=; domain=.ndl.go.jp; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT
111
+ X-Content-Type-Options:
112
+ - nosniff
113
+ X-Frame-Options:
114
+ - SAMEORIGIN
115
+ body:
116
+ encoding: ASCII-8BIT
117
+ string: !binary |-
118
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJkZjpSREYgeG1sbnM6ZGNuZGw9Imh0dHA6Ly9uZGwuZ28uanAvZGNuZGwvdGVybXMvIiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiIHhtbG5zOm93bD0iaHR0cDovL3d3dy53My5vcmcvMjAwMi8wNy9vd2wjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnJkZnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSMiIHhtbG5zOmRjdGVybXM9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIHhtbG5zOmZvYWY9Imh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIj4KICA8ZGNuZGw6QmliQWRtaW5SZXNvdXJjZSByZGY6YWJvdXQ9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2Jvb2tzL1IxMDAwMDAwMDItSTAwMDAwMzA0NjU0Ni0wMCI+CiAgICA8ZGNuZGw6Y2F0YWxvZ2luZ1N0YXR1cz5DNzwvZGNuZGw6Y2F0YWxvZ2luZ1N0YXR1cz4KICAgIDxkY25kbDpiaWJSZWNvcmRDYXRlZ29yeT5SMTAwMDAwMDAyPC9kY25kbDpiaWJSZWNvcmRDYXRlZ29yeT4KICAgIDxkY25kbDpyZWNvcmQgcmRmOnJlc291cmNlPSJodHRwOi8vaXNzLm5kbC5nby5qcC9ib29rcy9SMTAwMDAwMDAyLUkwMDAwMDMwNDY1NDYtMDAjbWF0ZXJpYWwiLz4KICA8L2RjbmRsOkJpYkFkbWluUmVzb3VyY2U+CiAgPGRjbmRsOkJpYlJlc291cmNlIHJkZjphYm91dD0iaHR0cDovL2lzcy5uZGwuZ28uanAvYm9va3MvUjEwMDAwMDAwMi1JMDAwMDAzMDQ2NTQ2LTAwI21hdGVyaWFsIj4KICAgIDxkY3Rlcm1zOmlkZW50aWZpZXIgcmRmOmRhdGF0eXBlPSJodHRwOi8vbmRsLmdvLmpwL2RjbmRsL3Rlcm1zL0pQTk8iPjIwMjIyODE4PC9kY3Rlcm1zOmlkZW50aWZpZXI+CiAgICA8ZGN0ZXJtczppZGVudGlmaWVyIHJkZjpkYXRhdHlwZT0iaHR0cDovL25kbC5nby5qcC9kY25kbC90ZXJtcy9JU0JOIj40LTc5ODAtMDIwNi0yPC9kY3Rlcm1zOmlkZW50aWZpZXI+CiAgICA8cmRmczpzZWVBbHNvIHJkZjpyZXNvdXJjZT0iaHR0cDovL2lkLm5kbC5nby5qcC9qcG5vLzIwMjIyODE4Ii8+CiAgICA8cmRmczpzZWVBbHNvIHJkZjpyZXNvdXJjZT0iaHR0cDovL2lzcy5uZGwuZ28uanAvaXNibi80Nzk4MDAyMDYyIi8+CiAgICA8ZGN0ZXJtczp0aXRsZT7jgojjgY/jgo/jgYvjgovmnIDmlrBXZWLjgrXjg7zjg5PjgrnmioDooZPjga7ln7rmnKzjgajku5XntYTjgb8gOiDmqJnmupZXZWLjgrfjgrnjg4bjg6DmioDooZPjgahl44Kz44Oe44O844K55Z+655uk5oqA6KGT5YWl6ZaAPC9kY3Rlcm1zOnRpdGxlPgogICAgPGRjOnRpdGxlPgogICAgICA8cmRmOkRlc2NyaXB0aW9uPgogICAgICAgIDxyZGY6dmFsdWU+44KI44GP44KP44GL44KL5pyA5pawV2Vi44K144O844OT44K55oqA6KGT44Gu5Z+65pys44Go5LuV57WE44G/IDog5qiZ5rqWV2Vi44K344K544OG44Og5oqA6KGT44GoZeOCs+ODnuODvOOCueWfuuebpOaKgOihk+WFpemWgDwvcmRmOnZhbHVlPgogICAgICAgIDxkY25kbDp0cmFuc2NyaXB0aW9uPuODqOOCryDjg6/jgqvjg6sg44K144Kk44K344OzIFdlYiDjgrXjg7zjg5Pjgrkg44Ku44K444Ol44OEIOODjiDjgq3jg5vjg7Mg44OIIOOCt+OCr+ODnyA6IOODkuODp+OCpuOCuOODpeODsyBXZWIg44K344K544OG44OgIOOCruOCuOODpeODhCDjg4ggZeOCs+ODnuODvOOCuSDjgq3jg5Djg7Mg44Ku44K444Ol44OEIOODi+ODpeOCpuODouODszwvZGNuZGw6dHJhbnNjcmlwdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICA8L2RjOnRpdGxlPgogICAgPGRjbmRsOnNlcmllc1RpdGxlPgogICAgICA8cmRmOkRlc2NyaXB0aW9uPgogICAgICAgIDxyZGY6dmFsdWU+5Zuz6Kej5YWl6ZaAPC9yZGY6dmFsdWU+CiAgICAgICAgPGRjbmRsOnRyYW5zY3JpcHRpb24+44K644Kr44KkIOODi+ODpeOCpuODouODszwvZGNuZGw6dHJhbnNjcmlwdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICA8L2RjbmRsOnNlcmllc1RpdGxlPgogICAgPGRjdGVybXM6Y3JlYXRvcj4KICAgICAgPGZvYWY6QWdlbnQgcmRmOmFib3V0PSJodHRwOi8vaWQubmRsLmdvLmpwL2F1dGgvZW50aXR5LzAwNzMzNTM4Ij4KICAgICAgICA8Zm9hZjpuYW1lPuWwj+aglywg5LiA5aSrLCAxOTUwLTwvZm9hZjpuYW1lPgogICAgICAgIDxkY25kbDp0cmFuc2NyaXB0aW9uPuOCquOCsOODqiwg44Kr44K644KqPC9kY25kbDp0cmFuc2NyaXB0aW9uPgogICAgICA8L2ZvYWY6QWdlbnQ+CiAgICA8L2RjdGVybXM6Y3JlYXRvcj4KICAgIDxkY3Rlcm1zOmNyZWF0b3I+CiAgICAgIDxmb2FmOkFnZW50IHJkZjphYm91dD0iaHR0cDovL2lkLm5kbC5nby5qcC9hdXRoL2VudGl0eS8wMDUzODIwNCI+CiAgICAgICAgPGZvYWY6bmFtZT7ml6nlt50sIOiBluWPuCwgMTk2NS08L2ZvYWY6bmFtZT4KICAgICAgICA8ZGNuZGw6dHJhbnNjcmlwdGlvbj7jg4/jg6Tjgqvjg68sIOOCu+OCpOOCuDwvZGNuZGw6dHJhbnNjcmlwdGlvbj4KICAgICAgPC9mb2FmOkFnZW50PgogICAgPC9kY3Rlcm1zOmNyZWF0b3I+CiAgICA8ZGM6Y3JlYXRvcj7lsI/moJfkuIDlpKssIOaXqeW3neiBluWPuCDlhbHokZc8L2RjOmNyZWF0b3I+CiAgICA8ZGN0ZXJtczpwdWJsaXNoZXI+CiAgICAgIDxmb2FmOkFnZW50PgogICAgICAgIDxmb2FmOm5hbWU+56eA5ZKM44K344K544OG44OgPC9mb2FmOm5hbWU+CiAgICAgICAgPGRjbmRsOmxvY2F0aW9uPuadseS6rDwvZGNuZGw6bG9jYXRpb24+CiAgICAgIDwvZm9hZjpBZ2VudD4KICAgIDwvZGN0ZXJtczpwdWJsaXNoZXI+CiAgICA8ZGNuZGw6cHVibGljYXRpb25QbGFjZSByZGY6ZGF0YXR5cGU9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy9JU08zMTY2Ij5KUDwvZGNuZGw6cHVibGljYXRpb25QbGFjZT4KICAgIDxkY3Rlcm1zOmRhdGU+MjAwMS4xMjwvZGN0ZXJtczpkYXRlPgogICAgPGRjdGVybXM6aXNzdWVkIHJkZjpkYXRhdHlwZT0iaHR0cDovL3B1cmwub3JnL2RjL3Rlcm1zL1czQ0RURiI+MjAwMTwvZGN0ZXJtczppc3N1ZWQ+CiAgICA8ZGN0ZXJtczpzdWJqZWN0PgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iaHR0cDovL2lkLm5kbC5nby5qcC9hdXRoL25kbHNoLzAwODQxMDI0Ij4KICAgICAgICA8cmRmOnZhbHVlPuOCpOODs+OCv+ODvOODjeODg+ODiDwvcmRmOnZhbHVlPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgIDwvZGN0ZXJtczpzdWJqZWN0PgogICAgPGRjdGVybXM6c3ViamVjdCByZGY6cmVzb3VyY2U9Imh0dHA6Ly9pZC5uZGwuZ28uanAvY2xhc3MvbmRsYy9ORDYzMyIvPgogICAgPGRjdGVybXM6c3ViamVjdCByZGY6cmVzb3VyY2U9Imh0dHA6Ly9pZC5uZGwuZ28uanAvY2xhc3MvbmRjOS81NDcuNDgzIi8+CiAgICA8ZGN0ZXJtczpsYW5ndWFnZSByZGY6ZGF0YXR5cGU9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy9JU082MzktMiI+anBuPC9kY3Rlcm1zOmxhbmd1YWdlPgogICAgPGRjdGVybXM6ZXh0ZW50PjI0N3AgOyAyMWNtPC9kY3Rlcm1zOmV4dGVudD4KICAgIDxkY25kbDpwcmljZT4xODAw5YaGPC9kY25kbDpwcmljZT4KICAgIDxkY3Rlcm1zOmF1ZGllbmNlPuS4gOiIrDwvZGN0ZXJtczphdWRpZW5jZT4KICAgIDxkY25kbDptYXRlcmlhbFR5cGUgcmRmczpsYWJlbD0i5Zuz5pu4IiByZGY6cmVzb3VyY2U9Imh0dHA6Ly9uZGwuZ28uanAvbmRsdHlwZS9Cb29rIi8+CiAgICA8ZGN0ZXJtczphY2Nlc3NSaWdodHM+UzAxUDk5VTk5PC9kY3Rlcm1zOmFjY2Vzc1JpZ2h0cz4KICA8L2RjbmRsOkJpYlJlc291cmNlPgogIDxkY25kbDpCaWJSZXNvdXJjZSByZGY6YWJvdXQ9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2Jvb2tzL1IxMDAwMDAwMDItSTAwMDAwMzA0NjU0Ni0wMCNtYXRlcmlhbCI+CiAgICA8ZGNuZGw6cmVjb3JkIHJkZjpyZXNvdXJjZT0iaHR0cDovL2lzcy5uZGwuZ28uanAvYm9va3MvUjEwMDAwMDAwMi1JMDAwMDAzMDQ2NTQ2LTAwI2l0ZW0iLz4KICAgIDxkY25kbDpyZWNvcmQgcmRmOnJlc291cmNlPSJodHRwOi8vaXNzLm5kbC5nby5qcC9ib29rcy9SMTAwMDAwMDAxLUkwNTI4OTM5ODQtMDAjaXRlbSIvPgogICAgPGRjbmRsOnJlY29yZCByZGY6cmVzb3VyY2U9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2Jvb2tzL1IxMDAwMDAwMDEtSTA1NjQzMTA0NC0wMCNpdGVtIi8+CiAgICA8ZGNuZGw6cmVjb3JkIHJkZjpyZXNvdXJjZT0iaHR0cDovL2lzcy5uZGwuZ28uanAvYm9va3MvUjEwMDAwMDAwMS1JMDU5NjIwOTUyLTAwI2l0ZW0iLz4KICAgIDxkY25kbDpyZWNvcmQgcmRmOnJlc291cmNlPSJodHRwOi8vaXNzLm5kbC5nby5qcC9ib29rcy9SMTAwMDAwMDAxLUkwNTk4Mjc2OTYtMDAjaXRlbSIvPgogICAgPGRjbmRsOnJlY29yZCByZGY6cmVzb3VyY2U9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2Jvb2tzL1IxMDAwMDAwMDEtSTA2NDYxMzQ3NC0wMCNpdGVtIi8+CiAgICA8ZGNuZGw6cmVjb3JkIHJkZjpyZXNvdXJjZT0iaHR0cDovL2lzcy5uZGwuZ28uanAvYm9va3MvUjEwMDAwMDAwMS1JMDcxMjM1NTI3LTAwI2l0ZW0iLz4KICAgIDxkY25kbDpyZWNvcmQgcmRmOnJlc291cmNlPSJodHRwOi8vaXNzLm5kbC5nby5qcC9ib29rcy9SMTAwMDAwMDAxLUkwNzg2MzU0OTMtMDAjaXRlbSIvPgogICAgPGRjbmRsOnJlY29yZCByZGY6cmVzb3VyY2U9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2Jvb2tzL1IxMDAwMDAwMDEtSTA4NDY3ODYwNy0wMCNpdGVtIi8+CiAgICA8ZGNuZGw6cmVjb3JkIHJkZjpyZXNvdXJjZT0iaHR0cDovL2lzcy5uZGwuZ28uanAvYm9va3MvUjEwMDAwMDAwMS1JMDkwMzcxMzIxLTAwI2l0ZW0iLz4KICAgIDxkY25kbDpyZWNvcmQgcmRmOnJlc291cmNlPSJodHRwOi8vaXNzLm5kbC5nby5qcC9ib29rcy9SMTAwMDAwMDAxLUkwOTMwNjk0NjEtMDAjaXRlbSIvPgogIDwvZGNuZGw6QmliUmVzb3VyY2U+CiAgPGRjbmRsOkl0ZW0gcmRmOmFib3V0PSJodHRwOi8vaXNzLm5kbC5nby5qcC9ib29rcy9SMTAwMDAwMDAyLUkwMDAwMDMwNDY1NDYtMDAjaXRlbSI+CiAgICA8ZGNuZGw6aG9sZGluZ0FnZW50PgogICAgICA8Zm9hZjpBZ2VudD4KICAgICAgICA8Zm9hZjpuYW1lPuWbveeri+WbveS8muWbs+abuOmkqDwvZm9hZjpuYW1lPgogICAgICAgIDxkY3Rlcm1zOmlkZW50aWZpZXIgcmRmOmRhdGF0eXBlPSJodHRwOi8vbmRsLmdvLmpwL2RjbmRsL3Rlcm1zL05ETExpYkNvZGUiPjAwMDA8L2RjdGVybXM6aWRlbnRpZmllcj4KICAgICAgPC9mb2FmOkFnZW50PgogICAgPC9kY25kbDpob2xkaW5nQWdlbnQ+CiAgICA8cmRmczpzZWVBbHNvIHJkZjpyZXNvdXJjZT0iaHR0cDovL2lkLm5kbC5nby5qcC9iaWIvMDAwMDAzMDQ2NTQ2Ii8+CiAgICA8ZGN0ZXJtczppZGVudGlmaWVyIHJkZjpkYXRhdHlwZT0iaHR0cDovL25kbC5nby5qcC9kY25kbC90ZXJtcy9ORExCaWJJRCI+MDAwMDAzMDQ2NTQ2PC9kY3Rlcm1zOmlkZW50aWZpZXI+CiAgICA8ZGNuZGw6Y2FsbE51bWJlcj5ORDYzMy1HMjMxMjwvZGNuZGw6Y2FsbE51bWJlcj4KICA8L2RjbmRsOkl0ZW0+CiAgPGRjbmRsOkl0ZW0gcmRmOmFib3V0PSJodHRwOi8vaXNzLm5kbC5nby5qcC9ib29rcy9SMTAwMDAwMDAxLUkwNTI4OTM5ODQtMDAjaXRlbSI+CiAgICA8ZGNuZGw6aG9sZGluZ0FnZW50PgogICAgICA8Zm9hZjpBZ2VudD4KICAgICAgICA8Zm9hZjpuYW1lPuWkp+mYquW4gueri+Wbs+abuOmkqDwvZm9hZjpuYW1lPgogICAgICAgIDxkY25kbDp0cmFuc2NyaXB0aW9uPuOCquOCquOCteOCq+OCt+ODquODhOODiOOCt+ODp+OCq+ODszwvZGNuZGw6dHJhbnNjcmlwdGlvbj4KICAgICAgICA8ZGN0ZXJtczppZGVudGlmaWVyIHJkZjpkYXRhdHlwZT0iaHR0cDovL25kbC5nby5qcC9kY25kbC90ZXJtcy9ORExMaWJDb2RlIj4yNzIxPC9kY3Rlcm1zOmlkZW50aWZpZXI+CiAgICAgIDwvZm9hZjpBZ2VudD4KICAgIDwvZGNuZGw6aG9sZGluZ0FnZW50PgogICAgPHJkZnM6c2VlQWxzbyByZGY6cmVzb3VyY2U9Imh0dHA6Ly93ZWIub21sLmNpdHkub3Nha2EubGcuanAvd2Vib3BhY19pX2phLzAwMTAxOTY3NzkiLz4KICAgIDxkY3Rlcm1zOmlkZW50aWZpZXIgcmRmOmRhdGF0eXBlPSJodHRwOi8vbmRsLmdvLmpwL2RjbmRsL3Rlcm1zL3NvbW9rdUJpYklEIj4wMDEwMTk2Nzc5PC9kY3Rlcm1zOmlkZW50aWZpZXI+CiAgICA8ZGN0ZXJtczppZGVudGlmaWVyIHJkZjpkYXRhdHlwZT0iaHR0cDovL25kbC5nby5qcC9kY25kbC90ZXJtcy9zb21va3VTdWJJRCI+MDAxMDE5Njc3OTwvZGN0ZXJtczppZGVudGlmaWVyPgogIDwvZGNuZGw6SXRlbT4KICA8ZGNuZGw6SXRlbSByZGY6YWJvdXQ9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2Jvb2tzL1IxMDAwMDAwMDEtSTA1NjQzMTA0NC0wMCNpdGVtIj4KICAgIDxkY25kbDpob2xkaW5nQWdlbnQ+CiAgICAgIDxmb2FmOkFnZW50PgogICAgICAgIDxmb2FmOm5hbWU+5aSn6Ziq5bqc56uL5Lit5aSu5Zuz5pu46aSoPC9mb2FmOm5hbWU+CiAgICAgICAgPGRjdGVybXM6aWRlbnRpZmllciByZGY6ZGF0YXR5cGU9Imh0dHA6Ly9uZGwuZ28uanAvZGNuZGwvdGVybXMvTkRMTGliQ29kZSI+MjcxMTwvZGN0ZXJtczppZGVudGlmaWVyPgogICAgICA8L2ZvYWY6QWdlbnQ+CiAgICA8L2RjbmRsOmhvbGRpbmdBZ2VudD4KICAgIDxyZGZzOnNlZUFsc28gcmRmOnJlc291cmNlPSJodHRwczovL3d3dy5saWJyYXJ5LnByZWYub3Nha2EuanAvbGljc3hwLW9wYWMvV09wYWNNc2dOZXdMaXN0VG9UaWZUaWxEZXRhaWxBY3Rpb24uZG8/dGlsY29kPTEwMDAwMDAxNzc2NzUxIi8+CiAgICA8ZGN0ZXJtczppZGVudGlmaWVyIHJkZjpkYXRhdHlwZT0iaHR0cDovL25kbC5nby5qcC9kY25kbC90ZXJtcy9zb21va3VCaWJJRCI+MTAwMDAwMDE3NzY3NTE8L2RjdGVybXM6aWRlbnRpZmllcj4KICAgIDxkY3Rlcm1zOmlkZW50aWZpZXIgcmRmOmRhdGF0eXBlPSJodHRwOi8vbmRsLmdvLmpwL2RjbmRsL3Rlcm1zL3NvbW9rdVN1YklEIj4xMTE0Mzc4MTM0PC9kY3Rlcm1zOmlkZW50aWZpZXI+CiAgICA8ZGNuZGw6Y2FsbE51bWJlcj41NDcuNC85ODJOLzwvZGNuZGw6Y2FsbE51bWJlcj4KICA8L2RjbmRsOkl0ZW0+CiAgPGRjbmRsOkl0ZW0gcmRmOmFib3V0PSJodHRwOi8vaXNzLm5kbC5nby5qcC9ib29rcy9SMTAwMDAwMDAxLUkwNTk2MjA5NTItMDAjaXRlbSI+CiAgICA8ZGNuZGw6aG9sZGluZ0FnZW50PgogICAgICA8Zm9hZjpBZ2VudD4KICAgICAgICA8Zm9hZjpuYW1lPuaEm+efpeecjOWbs+abuOmkqDwvZm9hZjpuYW1lPgogICAgICAgIDxkY25kbDp0cmFuc2NyaXB0aW9uPuOBguOBhOOBoeOBkeOCk+OBqOOBl+OCh+OBi+OCkzwvZGNuZGw6dHJhbnNjcmlwdGlvbj4KICAgICAgICA8ZGN0ZXJtczppZGVudGlmaWVyIHJkZjpkYXRhdHlwZT0iaHR0cDovL25kbC5nby5qcC9kY25kbC90ZXJtcy9ORExMaWJDb2RlIj4yMzExPC9kY3Rlcm1zOmlkZW50aWZpZXI+CiAgICAgIDwvZm9hZjpBZ2VudD4KICAgIDwvZGNuZGw6aG9sZGluZ0FnZW50PgogICAgPHJkZnM6c2VlQWxzbyByZGY6cmVzb3VyY2U9Imh0dHA6Ly93ZWJzdi5haWNoaS1wcmVmLWxpYnJhcnkuanAvd2luai9vcGFjL3N3aXRjaC1kZXRhaWwtaWNjYXAuZG8/YmliaWQ9MTE2MDI0NTg1NSIvPgogICAgPGRjdGVybXM6aWRlbnRpZmllciByZGY6ZGF0YXR5cGU9Imh0dHA6Ly9uZGwuZ28uanAvZGNuZGwvdGVybXMvc29tb2t1QmliSUQiPjExNjAyNDU4NTU8L2RjdGVybXM6aWRlbnRpZmllcj4KICAgIDxkY3Rlcm1zOmlkZW50aWZpZXIgcmRmOmRhdGF0eXBlPSJodHRwOi8vbmRsLmdvLmpwL2RjbmRsL3Rlcm1zL3NvbW9rdVN1YklEIj4xMTA4MDY3NjI4PC9kY3Rlcm1zOmlkZW50aWZpZXI+CiAgICA8ZGNuZGw6Y2FsbE51bWJlcj41NDcuNDgt77217724LTgwNjc2MjwvZGNuZGw6Y2FsbE51bWJlcj4KICAgIDxkY25kbDphdmFpbGFiaWxpdHk+6Zay5Y+v6LK45Y+v5Y2U5Y+vPC9kY25kbDphdmFpbGFiaWxpdHk+CiAgICA8ZGN0ZXJtczpkZXNjcmlwdGlvbj7miYDolLXloLTmiYAgOiDmm7jluqvvvK3vvKLvvJI8L2RjdGVybXM6ZGVzY3JpcHRpb24+CiAgPC9kY25kbDpJdGVtPgogIDxkY25kbDpJdGVtIHJkZjphYm91dD0iaHR0cDovL2lzcy5uZGwuZ28uanAvYm9va3MvUjEwMDAwMDAwMS1JMDU5ODI3Njk2LTAwI2l0ZW0iPgogICAgPGRjbmRsOmhvbGRpbmdBZ2VudD4KICAgICAgPGZvYWY6QWdlbnQ+CiAgICAgICAgPGZvYWY6bmFtZT7kuInph43nnIznq4vlm7Pmm7jppKg8L2ZvYWY6bmFtZT4KICAgICAgICA8ZGNuZGw6dHJhbnNjcmlwdGlvbj7jgb/jgYjjgZHjgpPjgorjgaTjgajjgZfjgofjgYvjgpM8L2RjbmRsOnRyYW5zY3JpcHRpb24+CiAgICAgICAgPGRjdGVybXM6aWRlbnRpZmllciByZGY6ZGF0YXR5cGU9Imh0dHA6Ly9uZGwuZ28uanAvZGNuZGwvdGVybXMvTkRMTGliQ29kZSI+MjQxMTwvZGN0ZXJtczppZGVudGlmaWVyPgogICAgICA8L2ZvYWY6QWdlbnQ+CiAgICA8L2RjbmRsOmhvbGRpbmdBZ2VudD4KICAgIDxyZGZzOnNlZUFsc28gcmRmOnJlc291cmNlPSJodHRwOi8vb3BhYzEubGlicmFyeS5wcmVmLm1pZS5sZy5qcC93aW5qL29wYWMvc3dpdGNoLWRldGFpbC1pY2NhcC5kbz9iaWJpZD0xMTAxODcwOTEzIi8+CiAgICA8ZGN0ZXJtczppZGVudGlmaWVyIHJkZjpkYXRhdHlwZT0iaHR0cDovL25kbC5nby5qcC9kY25kbC90ZXJtcy9zb21va3VCaWJJRCI+MTEwMTg3MDkxMzwvZGN0ZXJtczppZGVudGlmaWVyPgogICAgPGRjdGVybXM6aWRlbnRpZmllciByZGY6ZGF0YXR5cGU9Imh0dHA6Ly9uZGwuZ28uanAvZGNuZGwvdGVybXMvc29tb2t1U3ViSUQiPjExNTA1MzQyMzwvZGN0ZXJtczppZGVudGlmaWVyPgogICAgPGRjbmRsOmNhbGxOdW1iZXI+NTQ3LjQt7721PC9kY25kbDpjYWxsTnVtYmVyPgogICAgPGRjbmRsOmF2YWlsYWJpbGl0eT7mjIHlh7rlj6/og708L2RjbmRsOmF2YWlsYWJpbGl0eT4KICAgIDxkY3Rlcm1zOmRlc2NyaXB0aW9uPuaJgOiUteWgtOaJgCA6IOmWieaetu+8iOS4gOiIrO+8iTwvZGN0ZXJtczpkZXNjcmlwdGlvbj4KICA8L2RjbmRsOkl0ZW0+CiAgPGRjbmRsOkl0ZW0gcmRmOmFib3V0PSJodHRwOi8vaXNzLm5kbC5nby5qcC9ib29rcy9SMTAwMDAwMDAxLUkwNjQ2MTM0NzQtMDAjaXRlbSI+CiAgICA8ZGNuZGw6aG9sZGluZ0FnZW50PgogICAgICA8Zm9hZjpBZ2VudD4KICAgICAgICA8Zm9hZjpuYW1lPuWykOmYnOecjOWbs+abuOmkqDwvZm9hZjpuYW1lPgogICAgICAgIDxkY25kbDp0cmFuc2NyaXB0aW9uPuOBjuOBteOBkeOCk+OBqOOBl+OCh+OBi+OCkzwvZGNuZGw6dHJhbnNjcmlwdGlvbj4KICAgICAgICA8ZGN0ZXJtczppZGVudGlmaWVyIHJkZjpkYXRhdHlwZT0iaHR0cDovL25kbC5nby5qcC9kY25kbC90ZXJtcy9ORExMaWJDb2RlIj4yMTExPC9kY3Rlcm1zOmlkZW50aWZpZXI+CiAgICAgIDwvZm9hZjpBZ2VudD4KICAgIDwvZGNuZGw6aG9sZGluZ0FnZW50PgogICAgPHJkZnM6c2VlQWxzbyByZGY6cmVzb3VyY2U9Imh0dHA6Ly93d3cubGlicmFyeS5wcmVmLmdpZnUubGcuanAvd2luai9vcGFjL3N3aXRjaC1kZXRhaWwtaWNjYXAuZG8/YmliaWQ9MTEwMDAzNzE5OSIvPgogICAgPGRjdGVybXM6aWRlbnRpZmllciByZGY6ZGF0YXR5cGU9Imh0dHA6Ly9uZGwuZ28uanAvZGNuZGwvdGVybXMvc29tb2t1QmliSUQiPjExMDAwMzcxOTk8L2RjdGVybXM6aWRlbnRpZmllcj4KICAgIDxkY3Rlcm1zOmlkZW50aWZpZXIgcmRmOmRhdGF0eXBlPSJodHRwOi8vbmRsLmdvLmpwL2RjbmRsL3Rlcm1zL3NvbW9rdVN1YklEIj44MTMyMDE0ODcyPC9kY3Rlcm1zOmlkZW50aWZpZXI+CiAgICA8ZGNuZGw6Y2FsbE51bWJlcj41NDcuNC3jgqo8L2RjbmRsOmNhbGxOdW1iZXI+CiAgICA8ZGNuZGw6YXZhaWxhYmlsaXR5PuaMgeWHuuWPr+iDvTwvZGNuZGw6YXZhaWxhYmlsaXR5PgogICAgPGRjdGVybXM6ZGVzY3JpcHRpb24+5omA6JS15aC05omAIDog77yZ54mI6ZaJ5p62PC9kY3Rlcm1zOmRlc2NyaXB0aW9uPgogIDwvZGNuZGw6SXRlbT4KICA8ZGNuZGw6SXRlbSByZGY6YWJvdXQ9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2Jvb2tzL1IxMDAwMDAwMDEtSTA3MTIzNTUyNy0wMCNpdGVtIj4KICAgIDxkY25kbDpob2xkaW5nQWdlbnQ+CiAgICAgIDxmb2FmOkFnZW50PgogICAgICAgIDxmb2FmOm5hbWU+5L2Q6LOA55yM56uL5Zuz5pu46aSoPC9mb2FmOm5hbWU+CiAgICAgICAgPGRjdGVybXM6aWRlbnRpZmllciByZGY6ZGF0YXR5cGU9Imh0dHA6Ly9uZGwuZ28uanAvZGNuZGwvdGVybXMvTkRMTGliQ29kZSI+NDExMTwvZGN0ZXJtczppZGVudGlmaWVyPgogICAgICA8L2ZvYWY6QWdlbnQ+CiAgICA8L2RjbmRsOmhvbGRpbmdBZ2VudD4KICAgIDxkY3Rlcm1zOmlkZW50aWZpZXIgcmRmOmRhdGF0eXBlPSJodHRwOi8vbmRsLmdvLmpwL2RjbmRsL3Rlcm1zL3NvbW9rdUJpYklEIj4xMTAwNDY1MDE0PC9kY3Rlcm1zOmlkZW50aWZpZXI+CiAgICA8ZGN0ZXJtczppZGVudGlmaWVyIHJkZjpkYXRhdHlwZT0iaHR0cDovL25kbC5nby5qcC9kY25kbC90ZXJtcy9zb21va3VTdWJJRCI+MTEzMzkxODkwPC9kY3Rlcm1zOmlkZW50aWZpZXI+CiAgICA8ZGNuZGw6Y2FsbE51bWJlcj7vvJXvvJTvvJfvvI7vvJTvvI/vvK/vvJLvvJY8L2RjbmRsOmNhbGxOdW1iZXI+CiAgICA8ZGNuZGw6YXZhaWxhYmlsaXR5PuWIqeeUqOWPrzwvZGNuZGw6YXZhaWxhYmlsaXR5PgogICAgPGRjdGVybXM6ZGVzY3JpcHRpb24+6YWN572u5aC05omAIDog5paw6aSo5pu45bqr77yS5bGkPC9kY3Rlcm1zOmRlc2NyaXB0aW9uPgogIDwvZGNuZGw6SXRlbT4KICA8ZGNuZGw6SXRlbSByZGY6YWJvdXQ9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2Jvb2tzL1IxMDAwMDAwMDEtSTA3ODYzNTQ5My0wMCNpdGVtIj4KICAgIDxkY25kbDpob2xkaW5nQWdlbnQ+CiAgICAgIDxmb2FmOkFnZW50PgogICAgICAgIDxmb2FmOm5hbWU+5p2x5Lqs6YO956uL5aSa5pGp5Zuz5pu46aSoPC9mb2FmOm5hbWU+CiAgICAgICAgPGRjbmRsOnRyYW5zY3JpcHRpb24+44Go44GG44GN44KH44GG44Go44KK44Gk44Gf44G+44Go44GX44KH44GL44KTPC9kY25kbDp0cmFuc2NyaXB0aW9uPgogICAgICAgIDxkY3Rlcm1zOmlkZW50aWZpZXIgcmRmOmRhdGF0eXBlPSJodHRwOi8vbmRsLmdvLmpwL2RjbmRsL3Rlcm1zL05ETExpYkNvZGUiPjEzMTM8L2RjdGVybXM6aWRlbnRpZmllcj4KICAgICAgPC9mb2FmOkFnZW50PgogICAgPC9kY25kbDpob2xkaW5nQWdlbnQ+CiAgICA8cmRmczpzZWVBbHNvIHJkZjpyZXNvdXJjZT0iaHR0cHM6Ly9jYXRhbG9nLmxpYnJhcnkubWV0cm8udG9reW8uanAvd2luai9vcGFjL3N3aXRjaC1kZXRhaWwtaWNjYXAuZG8/YmliaWQ9MTEwNTQ5MzkxNSIvPgogICAgPGRjdGVybXM6aWRlbnRpZmllciByZGY6ZGF0YXR5cGU9Imh0dHA6Ly9uZGwuZ28uanAvZGNuZGwvdGVybXMvc29tb2t1QmliSUQiPjExMDU0OTM5MTU8L2RjdGVybXM6aWRlbnRpZmllcj4KICAgIDxkY3Rlcm1zOmlkZW50aWZpZXIgcmRmOmRhdGF0eXBlPSJodHRwOi8vbmRsLmdvLmpwL2RjbmRsL3Rlcm1zL3NvbW9rdVN1YklEIj41MDAzODMyMDAwPC9kY3Rlcm1zOmlkZW50aWZpZXI+CiAgICA8ZGNuZGw6Y2FsbE51bWJlcj41NDcuNC01NDI1LTIwMDE8L2RjbmRsOmNhbGxOdW1iZXI+CiAgICA8ZGNuZGw6YXZhaWxhYmlsaXR5PumWsuWPry/lgIvlkKYv5Y2U5Y+vPC9kY25kbDphdmFpbGFiaWxpdHk+CiAgICA8ZGN0ZXJtczpkZXNjcmlwdGlvbj7miYDolLXloLTmiYAgOiBCMuabuOW6q008L2RjdGVybXM6ZGVzY3JpcHRpb24+CiAgPC9kY25kbDpJdGVtPgogIDxkY25kbDpJdGVtIHJkZjphYm91dD0iaHR0cDovL2lzcy5uZGwuZ28uanAvYm9va3MvUjEwMDAwMDAwMS1JMDg0Njc4NjA3LTAwI2l0ZW0iPgogICAgPGRjbmRsOmhvbGRpbmdBZ2VudD4KICAgICAgPGZvYWY6QWdlbnQ+CiAgICAgICAgPGZvYWY6bmFtZT7loLrluILnq4vkuK3lpK7lm7Pmm7jppKg8L2ZvYWY6bmFtZT4KICAgICAgICA8ZGNuZGw6dHJhbnNjcmlwdGlvbj7jgrXjgqvjgqTjgrfjg6rjg4Tjg4Hjg6Xjgqbjgqrjgqbjg4jjgrfjg6fjgqvjg7M8L2RjbmRsOnRyYW5zY3JpcHRpb24+CiAgICAgICAgPGRjdGVybXM6aWRlbnRpZmllciByZGY6ZGF0YXR5cGU9Imh0dHA6Ly9uZGwuZ28uanAvZGNuZGwvdGVybXMvTkRMTGliQ29kZSI+MjcyMjwvZGN0ZXJtczppZGVudGlmaWVyPgogICAgICA8L2ZvYWY6QWdlbnQ+CiAgICA8L2RjbmRsOmhvbGRpbmdBZ2VudD4KICAgIDxyZGZzOnNlZUFsc28gcmRmOnJlc291cmNlPSJodHRwczovL3d3dy5saWItc2FrYWkuanAvbGljc3hwLW9wYWMvV09wYWNNc2dOZXdMaXN0VG9UaWZUaWxEZXRhaWxBY3Rpb24uZG8/dGlsY29kPTEwMDAwMDE0NDczNjkiLz4KICAgIDxkY3Rlcm1zOmlkZW50aWZpZXIgcmRmOmRhdGF0eXBlPSJodHRwOi8vbmRsLmdvLmpwL2RjbmRsL3Rlcm1zL3NvbW9rdUJpYklEIj4xMDAwMDAxNDQ3MzY5PC9kY3Rlcm1zOmlkZW50aWZpZXI+CiAgICA8ZGN0ZXJtczppZGVudGlmaWVyIHJkZjpkYXRhdHlwZT0iaHR0cDovL25kbC5nby5qcC9kY25kbC90ZXJtcy9zb21va3VTdWJJRCI+MTEyNzM1Mjk1PC9kY3Rlcm1zOmlkZW50aWZpZXI+CiAgICA8ZGNuZGw6Y2FsbE51bWJlcj41NDcuNDgv7721Lzg8L2RjbmRsOmNhbGxOdW1iZXI+CiAgPC9kY25kbDpJdGVtPgogIDxkY25kbDpJdGVtIHJkZjphYm91dD0iaHR0cDovL2lzcy5uZGwuZ28uanAvYm9va3MvUjEwMDAwMDAwMS1JMDkwMzcxMzIxLTAwI2l0ZW0iPgogICAgPGRjbmRsOmhvbGRpbmdBZ2VudD4KICAgICAgPGZvYWY6QWdlbnQ+CiAgICAgICAgPGZvYWY6bmFtZT7lvrPls7bnnIznq4vlm7Pmm7jppKg8L2ZvYWY6bmFtZT4KICAgICAgICA8ZGNuZGw6dHJhbnNjcmlwdGlvbj7jgajjgY/jgZfjgb7jgZHjgpPjgorjgaTjgajjgZfjgofjgYvjgpM8L2RjbmRsOnRyYW5zY3JpcHRpb24+CiAgICAgICAgPGRjdGVybXM6aWRlbnRpZmllciByZGY6ZGF0YXR5cGU9Imh0dHA6Ly9uZGwuZ28uanAvZGNuZGwvdGVybXMvTkRMTGliQ29kZSI+MzYxMTwvZGN0ZXJtczppZGVudGlmaWVyPgogICAgICA8L2ZvYWY6QWdlbnQ+CiAgICA8L2RjbmRsOmhvbGRpbmdBZ2VudD4KICAgIDxyZGZzOnNlZUFsc28gcmRmOnJlc291cmNlPSJodHRwczovL2FsaXNsaWJvcGFjLnRva3VzaGltYS1lYy5lZC5qcC93aW5qL29wYWMvc3dpdGNoLWRldGFpbC1pY2NhcC5kbz9iaWJpZD0xMTAxMTIzMTY3Ii8+CiAgICA8ZGN0ZXJtczppZGVudGlmaWVyIHJkZjpkYXRhdHlwZT0iaHR0cDovL25kbC5nby5qcC9kY25kbC90ZXJtcy9zb21va3VCaWJJRCI+MTEwMTEyMzE2NzwvZGN0ZXJtczppZGVudGlmaWVyPgogICAgPGRjdGVybXM6aWRlbnRpZmllciByZGY6ZGF0YXR5cGU9Imh0dHA6Ly9uZGwuZ28uanAvZGNuZGwvdGVybXMvc29tb2t1U3ViSUQiPjAwMTA3OTQyODUyPC9kY3Rlcm1zOmlkZW50aWZpZXI+CiAgICA8ZGNuZGw6Y2FsbE51bWJlcj41NDcuNC3vvbXvvbg8L2RjbmRsOmNhbGxOdW1iZXI+CiAgICA8ZGNuZGw6YXZhaWxhYmlsaXR5PuiyuOWHuuWPr+iDvTwvZGNuZGw6YXZhaWxhYmlsaXR5PgogICAgPGRjdGVybXM6ZGVzY3JpcHRpb24+5omA6JS15aC05omAIDog5LiA6Iis6LOH5paZ44Kz44O844OK44O8PC9kY3Rlcm1zOmRlc2NyaXB0aW9uPgogIDwvZGNuZGw6SXRlbT4KICA8ZGNuZGw6SXRlbSByZGY6YWJvdXQ9Imh0dHA6Ly9pc3MubmRsLmdvLmpwL2Jvb2tzL1IxMDAwMDAwMDEtSTA5MzA2OTQ2MS0wMCNpdGVtIj4KICAgIDxkY25kbDpob2xkaW5nQWdlbnQ+CiAgICAgIDxmb2FmOkFnZW50PgogICAgICAgIDxmb2FmOm5hbWU+6Z2Z5bKh5biC56uL5Lit5aSu5Zuz5pu46aSoPC9mb2FmOm5hbWU+CiAgICAgICAgPGRjbmRsOnRyYW5zY3JpcHRpb24+44K344K644Kq44Kr44K344Oq44OE44OB44Ol44Km44Kq44Km44OI44K344On44Kr44OzPC9kY25kbDp0cmFuc2NyaXB0aW9uPgogICAgICAgIDxkY3Rlcm1zOmlkZW50aWZpZXIgcmRmOmRhdGF0eXBlPSJodHRwOi8vbmRsLmdvLmpwL2RjbmRsL3Rlcm1zL05ETExpYkNvZGUiPjIyMjE8L2RjdGVybXM6aWRlbnRpZmllcj4KICAgICAgPC9mb2FmOkFnZW50PgogICAgPC9kY25kbDpob2xkaW5nQWdlbnQ+CiAgICA8cmRmczpzZWVBbHNvIHJkZjpyZXNvdXJjZT0iaHR0cHM6Ly93d3cyLnRvc2hva2FuLmNpdHkuc2hpenVva2EuanAvd2luai9vcGFjL3N3aXRjaC1kZXRhaWwtaWNjYXAuZG8/YmliaWQ9MTEwMDE3MDU4OCIvPgogICAgPGRjdGVybXM6aWRlbnRpZmllciByZGY6ZGF0YXR5cGU9Imh0dHA6Ly9uZGwuZ28uanAvZGNuZGwvdGVybXMvc29tb2t1QmliSUQiPjExMDAxNzA1ODg8L2RjdGVybXM6aWRlbnRpZmllcj4KICAgIDxkY3Rlcm1zOmlkZW50aWZpZXIgcmRmOmRhdGF0eXBlPSJodHRwOi8vbmRsLmdvLmpwL2RjbmRsL3Rlcm1zL3NvbW9rdVN1YklEIj4xMjIzOTQwMTE8L2RjdGVybXM6aWRlbnRpZmllcj4KICAgIDxkY25kbDpjYWxsTnVtYmVyPjU0Ny40ODM8L2RjbmRsOmNhbGxOdW1iZXI+CiAgICA8ZGNuZGw6YXZhaWxhYmlsaXR5PuaMgeWHuuWPr+iDvTwvZGNuZGw6YXZhaWxhYmlsaXR5PgogICAgPGRjdGVybXM6ZGVzY3JpcHRpb24+5omA6JS15aC05omAIDog5pu45bqrPC9kY3Rlcm1zOmRlc2NyaXB0aW9uPgogIDwvZGNuZGw6SXRlbT4KPC9yZGY6UkRGPg==
119
+ http_version: null
120
+ recorded_at: Sun, 19 Apr 2020 10:32:19 GMT
121
+ recorded_with: VCR 5.1.0
@@ -33,7 +33,7 @@ describe ContentTypesController do
33
33
  it 'assigns all content_types as @content_types' do
34
34
  content_type = ContentType.create! valid_attributes
35
35
  get :index
36
- expect(assigns(:content_types)).to eq(ContentType.all)
36
+ expect(assigns(:content_types)).to eq(ContentType.order(:position))
37
37
  end
38
38
  end
39
39
 
@@ -0,0 +1,449 @@
1
+ require 'rails_helper'
2
+ require 'sunspot/rails/spec_helper'
3
+
4
+ describe ItemCustomPropertiesController do
5
+ fixtures :all
6
+ disconnect_sunspot
7
+
8
+ def valid_attributes
9
+ @attrs = FactoryBot.attributes_for(:item_custom_property)
10
+ end
11
+
12
+ describe 'GET index' do
13
+ before(:each) do
14
+ FactoryBot.create(:item_custom_property)
15
+ end
16
+
17
+ describe 'When logged in as Administrator' do
18
+ login_fixture_admin
19
+
20
+ it 'assigns all item_custom_properties as @item_custom_properties' do
21
+ get :index
22
+ expect(assigns(:item_custom_properties)).to eq(ItemCustomProperty.order(:position))
23
+ end
24
+ end
25
+
26
+ describe 'When logged in as Librarian' do
27
+ login_fixture_librarian
28
+
29
+ it 'assigns all item_custom_properties as @item_custom_properties' do
30
+ get :index
31
+ expect(assigns(:item_custom_properties)).to eq(ItemCustomProperty.order(:position))
32
+ end
33
+ end
34
+
35
+ describe 'When logged in as User' do
36
+ login_fixture_user
37
+
38
+ it 'assigns all item_custom_properties as @item_custom_properties' do
39
+ get :index
40
+ expect(assigns(:item_custom_properties)).to eq nil
41
+ end
42
+ end
43
+
44
+ describe 'When not logged in' do
45
+ it 'assigns all item_custom_properties as @item_custom_properties' do
46
+ get :index
47
+ expect(assigns(:item_custom_properties)).to eq nil
48
+ end
49
+ end
50
+ end
51
+
52
+ describe 'GET show' do
53
+ describe 'When logged in as Administrator' do
54
+ login_fixture_admin
55
+
56
+ it 'assigns the requested item_custom_property as @item_custom_property' do
57
+ item_custom_property = FactoryBot.create(:item_custom_property)
58
+ get :show, params: { id: item_custom_property.id }
59
+ expect(assigns(:item_custom_property)).to eq(item_custom_property)
60
+ end
61
+ end
62
+
63
+ describe 'When logged in as Librarian' do
64
+ login_fixture_librarian
65
+
66
+ it 'assigns the requested item_custom_property as @item_custom_property' do
67
+ item_custom_property = FactoryBot.create(:item_custom_property)
68
+ get :show, params: { id: item_custom_property.id }
69
+ expect(assigns(:item_custom_property)).to eq(item_custom_property)
70
+ end
71
+ end
72
+
73
+ describe 'When logged in as User' do
74
+ login_fixture_user
75
+
76
+ it 'assigns the requested item_custom_property as @item_custom_property' do
77
+ item_custom_property = FactoryBot.create(:item_custom_property)
78
+ get :show, params: { id: item_custom_property.id }
79
+ expect(assigns(:item_custom_property)).to eq(item_custom_property)
80
+ end
81
+ end
82
+
83
+ describe 'When not logged in' do
84
+ it 'assigns the requested item_custom_property as @item_custom_property' do
85
+ item_custom_property = FactoryBot.create(:item_custom_property)
86
+ get :show, params: { id: item_custom_property.id }
87
+ expect(assigns(:item_custom_property)).to eq(item_custom_property)
88
+ end
89
+ end
90
+ end
91
+
92
+ describe 'GET new' do
93
+ describe 'When logged in as Administrator' do
94
+ login_fixture_admin
95
+
96
+ it 'assigns the requested item_custom_property as @item_custom_property' do
97
+ get :new
98
+ expect(assigns(:item_custom_property)).to be_a_new(ItemCustomProperty)
99
+ expect(response).to be_successful
100
+ end
101
+ end
102
+
103
+ describe 'When logged in as Librarian' do
104
+ login_fixture_librarian
105
+
106
+ it 'should not assign the requested item_custom_property as @item_custom_property' do
107
+ get :new
108
+ expect(assigns(:item_custom_property)).to be_nil
109
+ expect(response).to be_forbidden
110
+ end
111
+ end
112
+
113
+ describe 'When logged in as User' do
114
+ login_fixture_user
115
+
116
+ it 'should not assign the requested item_custom_property as @item_custom_property' do
117
+ get :new
118
+ expect(assigns(:item_custom_property)).to be_nil
119
+ expect(response).to be_forbidden
120
+ end
121
+ end
122
+
123
+ describe 'When not logged in' do
124
+ it 'should not assign the requested item_custom_property as @item_custom_property' do
125
+ get :new
126
+ expect(assigns(:item_custom_property)).to be_nil
127
+ expect(response).to redirect_to(new_user_session_url)
128
+ end
129
+ end
130
+ end
131
+
132
+ describe 'GET edit' do
133
+ describe 'When logged in as Administrator' do
134
+ login_fixture_admin
135
+
136
+ it 'assigns the requested item_custom_property as @item_custom_property' do
137
+ item_custom_property = FactoryBot.create(:item_custom_property)
138
+ get :edit, params: { id: item_custom_property.id }
139
+ expect(assigns(:item_custom_property)).to eq(item_custom_property)
140
+ end
141
+ end
142
+
143
+ describe 'When logged in as Librarian' do
144
+ login_fixture_librarian
145
+
146
+ it 'assigns the requested item_custom_property as @item_custom_property' do
147
+ item_custom_property = FactoryBot.create(:item_custom_property)
148
+ get :edit, params: { id: item_custom_property.id }
149
+ expect(assigns(:item_custom_property)).to eq(item_custom_property)
150
+ end
151
+ end
152
+
153
+ describe 'When logged in as User' do
154
+ login_fixture_user
155
+
156
+ it 'assigns the requested item_custom_property as @item_custom_property' do
157
+ item_custom_property = FactoryBot.create(:item_custom_property)
158
+ get :edit, params: { id: item_custom_property.id }
159
+ expect(response).to be_forbidden
160
+ end
161
+ end
162
+
163
+ describe 'When not logged in' do
164
+ it 'should not assign the requested item_custom_property as @item_custom_property' do
165
+ item_custom_property = FactoryBot.create(:item_custom_property)
166
+ get :edit, params: { id: item_custom_property.id }
167
+ expect(response).to redirect_to(new_user_session_url)
168
+ end
169
+ end
170
+ end
171
+
172
+ describe 'POST create' do
173
+ before(:each) do
174
+ @attrs = valid_attributes
175
+ @invalid_attrs = { name: '' }
176
+ end
177
+
178
+ describe 'When logged in as Administrator' do
179
+ login_fixture_admin
180
+
181
+ describe 'with valid params' do
182
+ it 'assigns a newly created item_custom_property as @item_custom_property' do
183
+ post :create, params: { item_custom_property: @attrs }
184
+ expect(assigns(:item_custom_property)).to be_valid
185
+ end
186
+
187
+ it 'redirects to the created item' do
188
+ post :create, params: { item_custom_property: @attrs }
189
+ expect(response).to redirect_to(assigns(:item_custom_property))
190
+ end
191
+ end
192
+
193
+ describe 'with invalid params' do
194
+ it 'assigns a newly created but unsaved item_custom_property as @item_custom_property' do
195
+ post :create, params: { item_custom_property: @invalid_attrs }
196
+ expect(assigns(:item_custom_property)).not_to be_valid
197
+ end
198
+
199
+ it "re-renders the 'new' template" do
200
+ post :create, params: { item_custom_property: @invalid_attrs }
201
+ expect(response).to render_template('new')
202
+ end
203
+ end
204
+ end
205
+
206
+ describe 'When logged in as Librarian' do
207
+ login_fixture_librarian
208
+
209
+ describe 'with valid params' do
210
+ it 'assigns a newly created item_custom_property as @item_custom_property' do
211
+ post :create, params: { item_custom_property: @attrs }
212
+ expect(assigns(:item_custom_property)).to be_nil
213
+ end
214
+
215
+ it 'redirects to the created item' do
216
+ post :create, params: { item_custom_property: @attrs }
217
+ expect(response).to be_forbidden
218
+ end
219
+ end
220
+
221
+ describe 'with invalid params' do
222
+ it 'assigns a newly created but unsaved item_custom_property as @item_custom_property' do
223
+ post :create, params: { item_custom_property: @invalid_attrs }
224
+ expect(assigns(:item_custom_property)).to be_nil
225
+ end
226
+
227
+ it "re-renders the 'new' template" do
228
+ post :create, params: { item_custom_property: @invalid_attrs }
229
+ expect(response).to be_forbidden
230
+ end
231
+ end
232
+ end
233
+
234
+ describe 'When logged in as User' do
235
+ login_fixture_user
236
+
237
+ describe 'with valid params' do
238
+ it 'assigns a newly created item_custom_property as @item_custom_property' do
239
+ post :create, params: { item_custom_property: @attrs }
240
+ expect(assigns(:item_custom_property)).to be_nil
241
+ end
242
+
243
+ it 'should be forbidden' do
244
+ post :create, params: { item_custom_property: @attrs }
245
+ expect(response).to be_forbidden
246
+ end
247
+ end
248
+
249
+ describe 'with invalid params' do
250
+ it 'assigns a newly created but unsaved item_custom_property as @item_custom_property' do
251
+ post :create, params: { item_custom_property: @invalid_attrs }
252
+ expect(assigns(:item_custom_property)).to be_nil
253
+ end
254
+
255
+ it 'should be forbidden' do
256
+ post :create, params: { item_custom_property: @invalid_attrs }
257
+ expect(response).to be_forbidden
258
+ end
259
+ end
260
+ end
261
+
262
+ describe 'When not logged in' do
263
+ describe 'with valid params' do
264
+ it 'assigns a newly created item_custom_property as @item_custom_property' do
265
+ post :create, params: { item_custom_property: @attrs }
266
+ expect(assigns(:item_custom_property)).to be_nil
267
+ end
268
+
269
+ it 'should be forbidden' do
270
+ post :create, params: { item_custom_property: @attrs }
271
+ expect(response).to redirect_to(new_user_session_url)
272
+ end
273
+ end
274
+
275
+ describe 'with invalid params' do
276
+ it 'assigns a newly created but unsaved item_custom_property as @item_custom_property' do
277
+ post :create, params: { item_custom_property: @invalid_attrs }
278
+ expect(assigns(:item_custom_property)).to be_nil
279
+ end
280
+
281
+ it 'should be forbidden' do
282
+ post :create, params: { item_custom_property: @invalid_attrs }
283
+ expect(response).to redirect_to(new_user_session_url)
284
+ end
285
+ end
286
+ end
287
+ end
288
+
289
+ describe 'PUT update' do
290
+ before(:each) do
291
+ @item_custom_property = FactoryBot.create(:item_custom_property)
292
+ @attrs = valid_attributes
293
+ @invalid_attrs = { name: '' }
294
+ end
295
+
296
+ describe 'When logged in as Administrator' do
297
+ login_fixture_admin
298
+
299
+ describe 'with valid params' do
300
+ it 'updates the requested item_custom_property' do
301
+ put :update, params: { id: @item_custom_property.id, item_custom_property: @attrs }
302
+ end
303
+
304
+ it 'assigns the requested item_custom_property as @item_custom_property' do
305
+ put :update, params: { id: @item_custom_property.id, item_custom_property: @attrs }
306
+ expect(assigns(:item_custom_property)).to eq(@item_custom_property)
307
+ expect(response).to redirect_to(@item_custom_property)
308
+ end
309
+ end
310
+
311
+ describe 'with invalid params' do
312
+ it 'assigns the requested item_custom_property as @item_custom_property' do
313
+ put :update, params: { id: @item_custom_property.id, item_custom_property: @invalid_attrs }
314
+ expect(response).to render_template('edit')
315
+ end
316
+ end
317
+
318
+ it 'moves its position when specified' do
319
+ item_custom_property = ItemCustomProperty.create! valid_attributes
320
+ position = item_custom_property.position
321
+ put :update, params: { id: item_custom_property.id, move: 'higher' }
322
+ expect(response).to redirect_to item_custom_properties_url
323
+ assigns(:item_custom_property).reload.position.should eq position - 1
324
+ end
325
+ end
326
+
327
+ describe 'When logged in as Librarian' do
328
+ login_fixture_librarian
329
+
330
+ describe 'with valid params' do
331
+ it 'updates the requested item_custom_property' do
332
+ put :update, params: { id: @item_custom_property.id, item_custom_property: @attrs }
333
+ end
334
+
335
+ it 'assigns the requested item_custom_property as @item_custom_property' do
336
+ put :update, params: { id: @item_custom_property.id, item_custom_property: @attrs }
337
+ expect(assigns(:item_custom_property)).to eq @item_custom_property
338
+ expect(response).to be_forbidden
339
+ end
340
+ end
341
+
342
+ describe 'with invalid params' do
343
+ it 'assigns the requested item_custom_property as @item_custom_property' do
344
+ put :update, params: { id: @item_custom_property.id, item_custom_property: @invalid_attrs }
345
+ expect(response).to be_forbidden
346
+ end
347
+ end
348
+ end
349
+
350
+ describe 'When logged in as User' do
351
+ login_fixture_user
352
+
353
+ describe 'with valid params' do
354
+ it 'updates the requested item_custom_property' do
355
+ put :update, params: { id: @item_custom_property.id, item_custom_property: @attrs }
356
+ end
357
+
358
+ it 'assigns the requested item_custom_property as @item_custom_property' do
359
+ put :update, params: { id: @item_custom_property.id, item_custom_property: @attrs }
360
+ expect(assigns(:item_custom_property)).to eq(@item_custom_property)
361
+ expect(response).to be_forbidden
362
+ end
363
+ end
364
+
365
+ describe 'with invalid params' do
366
+ it 'assigns the requested item_custom_property as @item_custom_property' do
367
+ put :update, params: { id: @item_custom_property.id, item_custom_property: @invalid_attrs }
368
+ expect(response).to be_forbidden
369
+ end
370
+ end
371
+ end
372
+
373
+ describe 'When not logged in' do
374
+ describe 'with valid params' do
375
+ it 'updates the requested item_custom_property' do
376
+ put :update, params: { id: @item_custom_property.id, item_custom_property: @attrs }
377
+ end
378
+
379
+ it 'should be forbidden' do
380
+ put :update, params: { id: @item_custom_property.id, item_custom_property: @attrs }
381
+ expect(response).to redirect_to(new_user_session_url)
382
+ end
383
+ end
384
+
385
+ describe 'with invalid params' do
386
+ it 'assigns the requested item_custom_property as @item_custom_property' do
387
+ put :update, params: { id: @item_custom_property.id, item_custom_property: @invalid_attrs }
388
+ expect(response).to redirect_to(new_user_session_url)
389
+ end
390
+ end
391
+ end
392
+ end
393
+
394
+ describe 'DELETE destroy' do
395
+ before(:each) do
396
+ @item_custom_property = FactoryBot.create(:item_custom_property)
397
+ end
398
+
399
+ describe 'When logged in as Administrator' do
400
+ login_fixture_admin
401
+
402
+ it 'destroys the requested item_custom_property' do
403
+ delete :destroy, params: { id: @item_custom_property.id }
404
+ end
405
+
406
+ it 'redirects to the item_custom_properties list' do
407
+ delete :destroy, params: { id: @item_custom_property.id }
408
+ expect(response).to redirect_to(item_custom_properties_url)
409
+ end
410
+ end
411
+
412
+ describe 'When logged in as Librarian' do
413
+ login_fixture_librarian
414
+
415
+ it 'destroys the requested item_custom_property' do
416
+ delete :destroy, params: { id: @item_custom_property.id }
417
+ end
418
+
419
+ it 'should be forbidden' do
420
+ delete :destroy, params: { id: @item_custom_property.id }
421
+ expect(response).to be_forbidden
422
+ end
423
+ end
424
+
425
+ describe 'When logged in as User' do
426
+ login_fixture_user
427
+
428
+ it 'destroys the requested item_custom_property' do
429
+ delete :destroy, params: { id: @item_custom_property.id }
430
+ end
431
+
432
+ it 'should be forbidden' do
433
+ delete :destroy, params: { id: @item_custom_property.id }
434
+ expect(response).to be_forbidden
435
+ end
436
+ end
437
+
438
+ describe 'When not logged in' do
439
+ it 'destroys the requested item_custom_property' do
440
+ delete :destroy, params: { id: @item_custom_property.id }
441
+ end
442
+
443
+ it 'should be forbidden' do
444
+ delete :destroy, params: { id: @item_custom_property.id }
445
+ expect(response).to redirect_to(new_user_session_url)
446
+ end
447
+ end
448
+ end
449
+ end