doctor_scrape 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. data/.gitignore +18 -0
  2. data/.rbenv-version +1 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +4 -0
  5. data/Guardfile +10 -0
  6. data/LICENSE +22 -0
  7. data/README.md +78 -0
  8. data/Rakefile +14 -0
  9. data/doctor_scrape.gemspec +35 -0
  10. data/lib/doctor_scrape/data.rb +12 -0
  11. data/lib/doctor_scrape/redirect_follower.rb +29 -0
  12. data/lib/doctor_scrape/scraper/base.rb +50 -0
  13. data/lib/doctor_scrape/scraper/bora.rb +25 -0
  14. data/lib/doctor_scrape/scraper/diva.rb +16 -0
  15. data/lib/doctor_scrape/scraper/duo.rb +32 -0
  16. data/lib/doctor_scrape/scraper/meta.rb +39 -0
  17. data/lib/doctor_scrape/scraper/unknown.rb +20 -0
  18. data/lib/doctor_scrape/search.rb +42 -0
  19. data/lib/doctor_scrape/version.rb +3 -0
  20. data/lib/doctor_scrape.rb +37 -0
  21. data/spec/cassettes/brage_bibsys_no_hibo_handle_URN_NBN_no-bibsys_brage_17854.yml +624 -0
  22. data/spec/cassettes/brage_bibsys_no_nhh_handle_URN_NBN_no-bibsys_brage_22813.yml +535 -0
  23. data/spec/cassettes/brage_bibsys_no_nhh_handle_URN_NBN_no-bibsys_brage_24121.yml +388 -0
  24. data/spec/cassettes/https___bora_hib_no_handle_10049_234.yml +429 -0
  25. data/spec/cassettes/https___bora_hib_no_handle_10049_330.yml +347 -0
  26. data/spec/cassettes/https___bora_uib_no_handle_1956_3282.yml +682 -0
  27. data/spec/cassettes/nora_search.yml +795 -0
  28. data/spec/cassettes/ntnu.diva-portal.org_smash_record.jsf?searchId=1&pid=diva2:122798.yml +398 -0
  29. data/spec/cassettes/ntnu_diva-portal_org_smash_record_jsf_searchId_1_pid_diva2_122794.yml +398 -0
  30. data/spec/cassettes/ntnu_diva-portal_org_smash_record_jsf_searchId_1_pid_diva2_122798.yml +487 -0
  31. data/spec/cassettes/www_duo_uio_no_sok_work_html_WORKID_112975.yml +248 -0
  32. data/spec/cassettes/www_duo_uio_no_sok_work_html_WORKID_149776.yml +240 -0
  33. data/spec/cassettes/www_ub_uit_no_munin_handle_10037_3822.yml +602 -0
  34. data/spec/cassettes/www_ub_uit_no_munin_handle_10037_3826.yml +534 -0
  35. data/spec/data_spec.rb +22 -0
  36. data/spec/parse/bibsys_spec.rb +40 -0
  37. data/spec/parse/bora_hib_spec.rb +29 -0
  38. data/spec/parse/bora_uib_spec.rb +18 -0
  39. data/spec/parse/diva_spec.rb +29 -0
  40. data/spec/parse/duo_spec.rb +29 -0
  41. data/spec/parse/munin_spec.rb +30 -0
  42. data/spec/redirect_follower_spec.rb +37 -0
  43. data/spec/scraper_spec.rb +43 -0
  44. data/spec/scrapers/base_spec.rb +6 -0
  45. data/spec/scrapers/bora_spec.rb +6 -0
  46. data/spec/scrapers/diva_spec.rb +6 -0
  47. data/spec/scrapers/duo_spec.rb +6 -0
  48. data/spec/scrapers/meta_spec.rb +6 -0
  49. data/spec/scrapers/unknown_spec.rb +18 -0
  50. data/spec/search_spec.rb +111 -0
  51. data/spec/shared/scraper.rb +62 -0
  52. data/spec/spec_helper.rb +29 -0
  53. data/spec/support/setup_scraper.rb +8 -0
  54. metadata +292 -0
@@ -0,0 +1,534 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.ub.uit.no/munin/handle/10037/3826
6
+ body: ''
7
+ headers:
8
+ Accept:
9
+ - ! '*/*'
10
+ User-Agent:
11
+ - Ruby
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Date:
18
+ - Wed, 22 Feb 2012 22:35:49 GMT
19
+ Server:
20
+ - Apache/2.2.16 (Debian)
21
+ Set-Cookie:
22
+ - JSESSIONID=D7F999C051334768A48AD257FCC0D0B3; Path=/munin
23
+ X-Cocoon-Version:
24
+ - 2.2.0
25
+ Vary:
26
+ - User-Agent,Accept-Encoding
27
+ Content-Length:
28
+ - '22466'
29
+ Content-Type:
30
+ - text/html;charset=utf-8
31
+ body: !binary |-
32
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NU
33
+ WVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0
34
+ Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwx
35
+ LXN0cmljdC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
36
+ MTk5OS94aHRtbCI+CjxoZWFkIHhtbG5zPSJodHRwczovL3d3dy53My5vcmcv
37
+ MTk5OS94aHRtbCI+CjxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNl
38
+ dD1VVEYtOCIgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiAvPgo8bWV0YSBu
39
+ YW1lPSJHZW5lcmF0b3IiIGNvbnRlbnQ9IkRTcGFjZSAxLjYuMiIgLz4KPGxp
40
+ bmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9InNj
41
+ cmVlbiIgaHJlZj0iL211bmluL3RoZW1lcy9SZWZlcmVuY2UvbGliL3N0eWxl
42
+ LmNzcyIgLz4KPGxpbmsgdHlwZT0iaW1hZ2UveC1pY29uIiByZWw9InNob3J0
43
+ Y3V0IGljb24iIGhyZWY9Ii9tdW5pbi90aGVtZXMvUmVmZXJlbmNlL2ltYWdl
44
+ cy9mYXZpY29uLmljbyIgLz4KPGxpbmsgdHlwZT0iYXBwbGljYXRpb24vb3Bl
45
+ bnNlYXJjaGRlc2NyaXB0aW9uK3htbCIgcmVsPSJzZWFyY2giIGhyZWY9Imh0
46
+ dHA6Ly93d3cudWIudWl0Lm5vOjgwL211bmluL29wZW4tc2VhcmNoL2Rlc2Ny
47
+ aXB0aW9uLnhtbCIgdGl0bGU9Ik11bmluIiAvPgo8c2NyaXB0IHR5cGU9InRl
48
+ eHQvamF2YXNjcmlwdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
49
+ ICAgLy9DbGVhciBkZWZhdWx0IHRleHQgb2YgZW10eSB0ZXh0IGFyZWFzIG9u
50
+ IGZvY3VzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rp
51
+ b24gdEZvY3VzKGVsZW1lbnQpCiAgICAgICAgICAgICAgICAgICAgICAgICAg
52
+ ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
53
+ ICAgaWYgKGVsZW1lbnQudmFsdWUgPT0gJyAnKXtlbGVtZW50LnZhbHVlPScn
54
+ O30KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg
55
+ ICAgICAgICAgICAgICAgICAgICAgICAgLy9DbGVhciBkZWZhdWx0IHRleHQg
56
+ b2YgZW10eSB0ZXh0IGFyZWFzIG9uIHN1Ym1pdAogICAgICAgICAgICAgICAg
57
+ ICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRTdWJtaXQoZm9ybSkKICAgICAg
58
+ ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
59
+ ICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGVmYXVsdGVkRWxlbWVudHMg
60
+ PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGV4dGFyZWEiKTsK
61
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAo
62
+ dmFyIGk9MDsgaSAhPSBkZWZhdWx0ZWRFbGVtZW50cy5sZW5ndGg7IGkrKyl7
63
+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
64
+ ICAgIGlmIChkZWZhdWx0ZWRFbGVtZW50c1tpXS52YWx1ZSA9PSAnICcpewog
65
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
66
+ ICAgICAgICAgIGRlZmF1bHRlZEVsZW1lbnRzW2ldLnZhbHVlPScnO319CiAg
67
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
68
+ ICAgICAgICAgICAgICAgICAgIC8vRGlzYWJsZSBwcmVzc2luZyAnZW50ZXIn
69
+ IGtleSB0byBzdWJtaXQgYSBmb3JtIChvdGhlcndpc2UgcHJlc3NpbmcgJ2Vu
70
+ dGVyJyBjYXVzZXMgYSBzdWJtaXNzaW9uIHRvIHN0YXJ0IG92ZXIpCiAgICAg
71
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gZGlzYWJsZUVu
72
+ dGVyS2V5KGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog
73
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGtleTsK
74
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
75
+ ICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHdpbmRvdy5ldmVudCkKICAg
76
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5ID0g
77
+ d2luZG93LmV2ZW50LmtleUNvZGU7ICAgICAvL0ludGVybmV0IEV4cGxvcmVy
78
+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAg
79
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleSA9
80
+ IGUud2hpY2g7ICAgICAvL0ZpcmVmb3ggYW5kIE5ldHNjYXBlCiAgICAgICAg
81
+ ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
82
+ ICAgICAgICAgICAgICAgICBpZihrZXkgPT0gMTMpICAvL2lmICJFbnRlciIg
83
+ cHJlc3NlZCwgdGhlbiBkaXNhYmxlIQogICAgICAgICAgICAgICAgICAgICAg
84
+ ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAg
85
+ ICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAg
86
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
87
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgPC9z
88
+ Y3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9t
89
+ dW5pbi90aGVtZXMvUmVmZXJlbmNlL2xpYi9qcXVlcnktMS4yLm1pbi5qcyI+
90
+ wqA8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
91
+ Yz0iL211bmluL3RoZW1lcy9SZWZlcmVuY2UvbGliL2t1YnJpY2stanF1ZXJ5
92
+ LmpzIj7CoDwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
93
+ dCIgc3JjPSIvbXVuaW4vdGhlbWVzL1JlZmVyZW5jZS9saWIvdXRpbHMuanMi
94
+ PsKgPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
95
+ ICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2dhcSA9IF9nYXEgfHwgW107
96
+ CiAgICAgICAgICAgICAgICAgICAgICAgX2dhcS5wdXNoKFsnX3NldEFjY291
97
+ bnQnLCAnVUEtMTYxNTI2NzQtMiddKTsKICAgICAgICAgICAgICAgICAgICAg
98
+ ICBfZ2FxLnB1c2goWydfdHJhY2tQYWdldmlldyddKTsKCiAgICAgICAgICAg
99
+ ICAgICAgICAgICAgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAg
100
+ ICAgICAgICB2YXIgZ2EgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3Jp
101
+ cHQnKTsgZ2EudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOyBnYS5hc3luYyA9
102
+ IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhLnNyYyA9ICgn
103
+ aHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCA/ICdodHRw
104
+ czovL3NzbCcgOiAnaHR0cDovL3d3dycpICsgJy5nb29nbGUtYW5hbHl0aWNz
105
+ LmNvbS9nYS5qcyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBz
106
+ ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBd
107
+ OyBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGdhLCBzKTsKICAgICAgICAg
108
+ ICAgICAgICAgICAgICB9KSgpOwogICAgICAgICAgICAgICA8L3NjcmlwdD4K
109
+ PHRpdGxlPk11bmluOiBJS1QtZm9yYmluZGVsc2VyIGkgaGVsc2VzZWt0b3Jl
110
+ biwmIzEzOwpTYW1tZW52ZXZpbmdlciBhdiBJS1QsIHN0ZWRlciwgeXJrZXIs
111
+ IGtqw7hubiBvZyBwb2xpdGlrazwvdGl0bGU+DQo8bGluayByZWw9InNjaGVt
112
+ YS5EQ1RFUk1TIiBocmVmPSJodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIiAv
113
+ Pg0KPGxpbmsgcmVsPSJzY2hlbWEuREMiIGhyZWY9Imh0dHA6Ly9wdXJsLm9y
114
+ Zy9kYy9lbGVtZW50cy8xLjEvIiAvPg0KPG1ldGEgbmFtZT0iREMuY29udHJp
115
+ YnV0b3IiIGNvbnRlbnQ9IkZsZW1tZW4sIEFubmUgQnJpdHQiIC8+DQo8bWV0
116
+ YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50PSJEeWIsIEthcmkiIC8+DQo8
117
+ bWV0YSBuYW1lPSJEQ1RFUk1TLmRhdGVBY2NlcHRlZCIgY29udGVudD0iMjAx
118
+ Mi0wMi0xMFQxMjoyOTo1NFoiIHNjaGVtZT0iRENURVJNUy5XM0NEVEYiIC8+
119
+ DQo8bWV0YSBuYW1lPSJEQ1RFUk1TLmF2YWlsYWJsZSIgY29udGVudD0iMjAx
120
+ Mi0wMi0xMFQxMjoyOTo1NFoiIHNjaGVtZT0iRENURVJNUy5XM0NEVEYiIC8+
121
+ DQo8bWV0YSBuYW1lPSJEQ1RFUk1TLmlzc3VlZCIgY29udGVudD0iMjAxMS0w
122
+ NC0yOSIgc2NoZW1lPSJEQ1RFUk1TLlczQ0RURiIgLz4NCjxtZXRhIG5hbWU9
123
+ IkRDVEVSTVMuYWJzdHJhY3QiIGNvbnRlbnQ9IlRpbCB0cm9zcyBmb3IgYmV0
124
+ eWRlbGlnIHBvbGl0aXNrIHNhdHNpbmcgcMOlIMOlIGlubmbDuHJlIG55IGlu
125
+ Zm9ybWFzam9ucy0gb2cga29tbXVuaWthc2pvbnN0ZWtub2xvZ2kgKElLVCkg
126
+ aSBoZWxzZXNla3RvcmVuLCBlciBkZXQgcmVsYXRpdnQgZsOlIGzDuHNuaW5n
127
+ ZXIgc29tIGJsaXIgdXR2aWtsZXQgdmlkZXJlIGZyYSBlbiB1dGZvcnNrbmlu
128
+ Z3MtIG9nIGlubmbDuHJpbmdzZmFzZSBvZyBpbnRlZ3JlcnQgaSBkZW4gZGFn
129
+ bGlnZSBwcmFrc2lzZW4gaSBoZWxzZXNla3RvcmVuLiBEZW5uZSBhdmhhbmRs
130
+ aW5nZW4gZXIgZXQgYmlkcmFnIHRpbCDDpSBmb3JzdMOlIGh2YSBzb20gc2tq
131
+ ZXIgbsOlciBueWUgSUtULWzDuHNuaW5nZXIgc2thbCBhbnZlbmRlcyBpIGhl
132
+ bHNlc2VrdG9yZW4uIFZlZCDDpSB0YSB1dGdhbmdzcHVua3QgaSB0cmUgdWxp
133
+ a2UgZWxla3Ryb25pc2tlIHNhbWhhbmRsaW5ncy0gb2cgZ2xvYmFsaXNlcmlu
134
+ Z3NtZWRpZXIgb2cgZsO4bGdlIGh2b3JkYW4gZGUgYmxpciBicnVrdCBlbGxl
135
+ ciBpa2tlIGJydWt0IGkgcHJha3NpcywgYmlkcmFyIHN0dWRpZW4gdGlsIMOl
136
+ IGthc3RlIGx5cyBvdmVyIGh2b3JkYW4gbnkgdGVrbm9sb2dpIGlubmfDpXIg
137
+ aSBmbGVyZSB1bGlrZSByZWxhc2pvbmVyIGkgc2VrdG9yZW4sIG9nIGh2b3Jk
138
+ YW4gZGlzc2Ugc2FtbWVudmV2aW5nZW5lIGhhciBiZXR5ZG5pbmcgZm9yIGRl
139
+ biBrb25rcmV0ZSBicnVrZW4uIERlIHRlbWF0aXNrZSBvbXLDpWRlbmUgc29t
140
+ IGJlbHlzZXMgZXIgcmVsYXNqb25lciBrbnl0dGV0IHRpbCBodm9yIGzDuHNu
141
+ aW5nZW5lIHNrYWwgYnJ1a2VzLCBodmVtIGJydWtlcmVuIGVyLCBodm9yZGFu
142
+ IGzDuHNuaW5nZW5lIGJsaXIgYnJ1a3QsIGh2b3JkYW4gZGUgYmxpciBmb3Jz
143
+ dMOldHQgb2cgaHZvcmRhbiBkaXNzZSB1bGlrZSBhc3Bla3RlbmUgdmV2ZXMg
144
+ c2FtbWVuLiBEZXQgdGlsYnlzIHVsaWtlIGxlc25pbmdlciBhdiBmb3JiaW5k
145
+ ZWxzZXIgbWVsbG9tIGVuIG55IGdsb2JhbGlzZXJpbmdzdGVrbm9sb2dpIG9n
146
+ IHN0ZWRldCBlbGxlciBsb2thbGl0ZXRlbiBodm9yIHRla25vbG9naWVuIHNr
147
+ YWwgYW52ZW5kZXMsIG1lbGxvbSBJS1QsIHlya2VyIG9nIHlya2VzcmVsYXNq
148
+ b25lciwgbWVsbG9tIElLVCwga2rDuG5uIG9nIGtqw7hubnNyZWxhc2pvbmVy
149
+ LCBvZyBtZWxsb20ga29ua3JldCB0ZWtub2xvZ2licnVrIG9nIGhlbHNlcG9s
150
+ aXRpc2tlIHRla25vbG9naWZvcnN0w6VlbHNlci4gSUtULWZvcmJpbmRlbHNl
151
+ bmUsIGVsbGVyIG1lciBuw7h5YWt0aWcgc2FtbWVudmV2aW5nZW5lIGF2IGRl
152
+ IHVsaWtlIGZvcmJpbmRlbHNlbmUsIHZpc2VyIHNlZyDDpSB2w6ZyZSBhdmdq
153
+ w7hyZW5kZSBmb3Igb20gb2cgaHZvcmRhbiBkZW4gbnllIHRla25vbG9naWVu
154
+ IGJsaXIgYnJ1a3QgaSBzZWt0b3Jlbi4iIHhtbDpsYW5nPSJlbiIgLz4NCjxt
155
+ ZXRhIG5hbWU9IkRDLmRlc2NyaXB0aW9uIiBjb250ZW50PSLDuG5za2VyIHRp
156
+ bGJha2VtZWxkaW5nZXIgcMOlIGVuIHVwdWJsaXNlcnQgYXJ0aWtrZWwgZsO4
157
+ ciBhdmhuYWRsaW5nZW4gYmxpciBwdWJsaXNlcnQgaSBtdW5pbi4gSmVnIHZp
158
+ bCBpbWlsZGVydGlkIHN2w6ZydCBnamVucmUgZsOlIGRlbiBwdWJsaXNlcnQg
159
+ cMOlIGV0IHNlbmVyZSB0aWRzc3B1bmt0IiB4bWw6bGFuZz0iZW4iIC8+DQo8
160
+ bWV0YSBuYW1lPSJEQy5kZXNjcmlwdGlvbiIgY29udGVudD0icGguZC4iIHht
161
+ bDpsYW5nPSJlbiIgLz4NCjxtZXRhIG5hbWU9IkRDLmRlc2NyaXB0aW9uIiBj
162
+ b250ZW50PSJBbGRyaSIgeG1sOmxhbmc9ImVuIiAvPg0KPG1ldGEgbmFtZT0i
163
+ REMuZGVzY3JpcHRpb24iIGNvbnRlbnQ9Ik5vcmdlcyBmb3Jza25pbmdzcsOl
164
+ ZCwgcHJvc2pla3QgbnIuIDE2MzYyNSIgeG1sOmxhbmc9ImVuIiAvPg0KPG1l
165
+ dGEgbmFtZT0iREMuZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlBhcGVycyAxLDIs
166
+ MyBhbmQgNSBvZiB0aGlzIHRoZXNpcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBN
167
+ dW5pbjogJmx0O2JyLyZndDsxLiBEeWIsIEthcmkgYW5kIEhhbGZvcmQsIFN1
168
+ c2FuOiAnUGxhY2luZyBnbG9iYWxpemluZyB0ZWNobm9sb2dpZXMgOiB0ZWxl
169
+ bWVkaWNpbmUgYW5kIHRoZSBtYWtpbmcgb2YgZGlmZmVyZW5jZScsIFNvY2lv
170
+ bG9neSAoMjAwOSkgdm9sLiA0MygyKToyMzItMjQ5LiBBdmFpbGFibGUgYXQg
171
+ Jmx0O2EgaHJlZj1odHRwOi8vZHguZG9pLm9yZy8xMC4xMTc3LzAwMzgwMzg1
172
+ MDgxMDExNjMmZ3Q7aHR0cDovL2R4LmRvaS5vcmcvMTAuMTE3Ny8wMDM4MDM4
173
+ NTA4MTAxMTYzJmx0Oy9hJmd0OyAmbHQ7YnIvJmd0OzIuIER5YiwgS2FyaTog
174
+ J0pvcmRtb3Jza2FwIG9nIHRla25vbG9naScsIFRpZHNza3JpZnQgZm9yIGtq
175
+ w7hubnNmb3Jza25pbmcgKDIwMDkpIHZvbC4gMzMoMyk6MTc2LTIwOS4gQXZh
176
+ aWxhYmxlIGF0ICZsdDthIGhyZWY9aHR0cDovL3d3dy5pZHVubi5uby90cy90
177
+ ZmsvMjAwOS8wMy9hcnQwMiZndDtodHRwOi8vd3d3LmlkdW5uLm5vL3RzL3Rm
178
+ ay8yMDA5LzAzL2FydDAyJmx0Oy9hJmd0OyAmbHQ7YnIvJmd0OzMuIEhhbGZv
179
+ cmQsIFN1c2FuOyBMb3RoZXJpbmd0b24sIEFubiBUaGVyZXNlOyBEeWIsIEth
180
+ cmkgYW5kIE9ic3RmZWxkZXIsIEF1ZDogJ1VuL2RvaW5nIEdlbmRlciB3aXRo
181
+ IElDVD8nLCBOT1JBIC0gTm9yZGljIEpvdXJuYWwgb2YgRmVtaW5pc3QgYW5k
182
+ IEdlbmRlciBSZXNlYXJjaCAoMjAxMCkgdm9sLiAxOCgxKToyMC0zNy4gQXZh
183
+ aWxhYmxlIGF0ICZsdDthIGhyZWY9aHR0cDovL2R4LmRvaS5vcmcvMTAuMTA4
184
+ MC8wODAzODc0MTAwMzYyNjc5MSZndDtodHRwOi8vZHguZG9pLm9yZy8xMC4x
185
+ MDgwLzA4MDM4NzQxMDAzNjI2NzkxJmx0Oy9hJmd0OyAmbHQ7YnIvJmd0OzUu
186
+ IFN1c2FuIEhhbGZvcmQ7IEFubiBUaGVyZXNlIExvdGhlcmluZ3RvbjsgQXVk
187
+ IE9ic3RmZWxkZXIgYW5kIEthcmkgRHliOiAnR2V0dGluZyB0aGUgd2hvbGUg
188
+ cGljdHVyZT8gTmV3IGluZm9ybWF0aW9uIGFuZCBjb21tdW5pY2F0aW9uIHRl
189
+ Y2hub2xvZ2llcyBpbiBoZWFsdGhjYXJlIHdvcmsgYW5kIG9yZ2FuaXphdGlv
190
+ bicsIEluZm9ybWF0aW9uLCBDb21tdW5pY2F0aW9uIGFuZCBTb2NpZXR5ICgy
191
+ MDEwKSB2b2wuIDEzKDMpOjQ0Mi00NjUuIEF2YWlsYWJsZSBhdCAmbHQ7YSBo
192
+ cmVmPWh0dHA6Ly9keC5kb2kub3JnLzEwLjEwODAvMTM2OTExODA5MDMwOTU4
193
+ NTYmZ3Q7aHR0cDovL2R4LmRvaS5vcmcvMTAuMTA4MC8xMzY5MTE4MDkwMzA5
194
+ NTg1NiZsdDsvYSZndDsiIHhtbDpsYW5nPSJlbiIgLz4NCjxtZXRhIG5hbWU9
195
+ IkRDLmlkZW50aWZpZXIiIGNvbnRlbnQ9IkZ1bGx0ZXh0IGh0dHA6Ly93d3cu
196
+ dWIudWl0Lm5vL211bmluL2JpdHN0cmVhbS8xMDAzNy8zODI2LzMvcGFwZXJf
197
+ NC5wZGYiIC8+DQo8bWV0YSBuYW1lPSJEQy5pZGVudGlmaWVyIiBjb250ZW50
198
+ PSJGdWxsdGV4dCBodHRwOi8vd3d3LnViLnVpdC5uby9tdW5pbi9iaXRzdHJl
199
+ YW0vMTAwMzcvMzgyNi8yL3RoZXNpcy5wZGYiIC8+DQo8bWV0YSBuYW1lPSJE
200
+ Qy5pZGVudGlmaWVyIiBjb250ZW50PSJVUk4gVVJOOk5CTjpuby11aXRfbXVu
201
+ aW5fMzU0OCIgLz4NCjxtZXRhIG5hbWU9IkRDLmlkZW50aWZpZXIiIGNvbnRl
202
+ bnQ9Imh0dHA6Ly9oZGwuaGFuZGxlLm5ldC8xMDAzNy8zODI2IiBzY2hlbWU9
203
+ IkRDVEVSTVMuVVJJIiAvPg0KPG1ldGEgbmFtZT0iREMuaWRlbnRpZmllciIg
204
+ Y29udGVudD0iVVJOOk5CTjpuby11aXRfbXVuaW5fMzU0OCIgLz4NCjxtZXRh
205
+ IG5hbWU9IkRDLmxhbmd1YWdlIiBjb250ZW50PSJub2IiIHhtbDpsYW5nPSJl
206
+ biIgc2NoZW1lPSJEQ1RFUk1TLlJGQzE3NjYiIC8+DQo8bWV0YSBuYW1lPSJE
207
+ Qy5wdWJsaXNoZXIiIGNvbnRlbnQ9IlVuaXZlcnNpdGV0ZXQgaSBUcm9tc8O4
208
+ IiB4bWw6bGFuZz0iZW4iIC8+DQo8bWV0YSBuYW1lPSJEQy5wdWJsaXNoZXIi
209
+ IGNvbnRlbnQ9IlVuaXZlcnNpdHkgb2YgVHJvbXPDuCIgeG1sOmxhbmc9ImVu
210
+ IiAvPg0KPG1ldGEgbmFtZT0iREMuc3ViamVjdCIgY29udGVudD0iRE9LVE9S
211
+ LTAwMSIgeG1sOmxhbmc9ImVuIiAvPg0KPG1ldGEgbmFtZT0iREMuc3ViamVj
212
+ dCIgY29udGVudD0iVkRQOjpTYW1mdW5uc3ZpdGVuc2thcDogMjAwOjpTb3Np
213
+ b2xvZ2k6IDIyMCIgeG1sOmxhbmc9ImVuIiAvPg0KPG1ldGEgbmFtZT0iREMu
214
+ c3ViamVjdCIgY29udGVudD0iVkRQOjpTb2NpYWwgc2NpZW5jZTogMjAwOjpT
215
+ b2Npb2xvZ3k6IDIyMCIgeG1sOmxhbmc9ImVuIiAvPg0KPG1ldGEgbmFtZT0i
216
+ REMudGl0bGUiIGNvbnRlbnQ9IklLVC1mb3JiaW5kZWxzZXIgaSBoZWxzZXNl
217
+ a3RvcmVuLCYjeEQ7JiN4QTtTYW1tZW52ZXZpbmdlciBhdiBJS1QsIHN0ZWRl
218
+ ciwgeXJrZXIsIGtqw7hubiBvZyBwb2xpdGlrayIgeG1sOmxhbmc9ImVuIiAv
219
+ Pg0KPG1ldGEgbmFtZT0iREMudHlwZSIgY29udGVudD0iRG9jdG9yYWwgdGhl
220
+ c2lzIiB4bWw6bGFuZz0iZW4iIC8+DQo8bWV0YSBuYW1lPSJEQy50eXBlIiBj
221
+ b250ZW50PSJEb2t0b3JncmFkc2F2aGFuZGxpbmciIHhtbDpsYW5nPSJlbiIg
222
+ Lz4NCjwvaGVhZD4KPGJvZHk+CjxkaXYgaWQ9ImRzLW1haW4iPgo8ZGl2IHht
223
+ bG5zPSJodHRwczovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgaWQ9ImRzLWhl
224
+ YWRlciI+CjxhIGhyZWY9Ii9tdW5pbi8iPgo8ZGl2IGlkPSJkcy1oZWFkZXIt
225
+ bG9nbyI+CjxpbWcgYWx0PSJNdW5pbiBsb2dvIiBzcmM9Ii9tdW5pbi90aGVt
226
+ ZXMvUmVmZXJlbmNlL2ltYWdlcy9tdW5pbl9iYW5uZXIuZ2lmIiAvPgo8L2Rp
227
+ dj4KPC9hPgo8aDEgY2xhc3M9InBhZ2V0aXRsZSI+SUtULWZvcmJpbmRlbHNl
228
+ ciBpIGhlbHNlc2VrdG9yZW4sJiMxMzsKU2FtbWVudmV2aW5nZXIgYXYgSUtU
229
+ LCBzdGVkZXIsIHlya2VyLCBrasO4bm4gb2cgcG9saXRpa2s8L2gxPgo8aDIg
230
+ Y2xhc3M9InN0YXRpYy1wYWdldGl0bGUiPkRTcGFjZS9NYW5ha2luLWFya2l2
231
+ PC9oMj4KPHVsIGlkPSJkcy10cmFpbCI+CjxsaSB4bWxucz0iaHR0cDovL3d3
232
+ dy53My5vcmcvMTk5OS94aHRtbCIgY2xhc3M9ImRzLXRyYWlsLWxpbmsgZmly
233
+ c3QtbGluayAiPgo8YSBocmVmPSIvbXVuaW4vIj5IamVtPC9hPgo8L2xpPgo8
234
+ bGkgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGNsYXNz
235
+ PSJkcy10cmFpbC1saW5rICI+CjxhIGhyZWY9Ii9tdW5pbi9oYW5kbGUvMTAw
236
+ MzcvMyI+RmFrdWx0ZXQgZm9yIGh1bWFuaW9yYSwgc2FtZnVubnN2aXRlbnNr
237
+ YXAgb2cgbMOmcmVydXRkYW5uaW5nPC9hPgo8L2xpPgo8bGkgeG1sbnM9Imh0
238
+ dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGNsYXNzPSJkcy10cmFpbC1s
239
+ aW5rICI+CjxhIGhyZWY9Ii9tdW5pbi9oYW5kbGUvMTAwMzcvMjgxIj5Eb2t0
240
+ b3JncmFkc2F2aGFuZGxpbmdlciAoSFNMLWZhayk8L2E+CjwvbGk+CjxsaSB4
241
+ bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgY2xhc3M9ImRz
242
+ LXRyYWlsLWxpbmsgbGFzdC1saW5rIj5WaXMgaW5uZsO4cnNlbDwvbGk+Cjwv
243
+ dWw+CjxkaXYgaWQ9ImRzLXVzZXItYm94Ij4KPHA+CjxhIGhyZWY9Ii9tdW5p
244
+ bi9sb2dpbiI+QWRtaW5pc3RyYXNqb24vVUI8L2E+CjwvcD4KPC9kaXY+Cjxk
245
+ aXYgaWQ9ImRzLWxhbmd1YWdlLWJveCI+Cjxmb3JtIGFjdGlvbj0iIiBuYW1l
246
+ PSJyZXBvc3QiIG1ldGhvZD0iZ2V0Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIg
247
+ bmFtZT0ibG9jYWxlLWF0dHJpYnV0ZSIgLz4KPC9mb3JtPgo8cD4KPGEgaHJl
248
+ Zj0iP2xvY2FsZS1hdHRyaWJ1dGU9bm8iIHRpdGxlPSJOb3JzayI+CgkJICAg
249
+ ICAgTm9yc2sKCQkgICAgICA8aW1nIGJvcmRlcj0iMCIgYWx0PSJOb3JzayIg
250
+ c3JjPSIvbXVuaW4vdGhlbWVzL1JlZmVyZW5jZS9pbWFnZXMvbGFuZy1uby5n
251
+ aWYiIC8+CjwvYT4KPC9wPgo8cD4KPGEgaHJlZj0iP2xvY2FsZS1hdHRyaWJ1
252
+ dGU9ZW4iIHRpdGxlPSJOb3JzayI+CgkJICAgICAgRW5nbGlzaAoJCSAgICAg
253
+ IDxpbWcgYm9yZGVyPSIwIiBhbHQ9IkVuZ2xpc2giIHNyYz0iL211bmluL3Ro
254
+ ZW1lcy9SZWZlcmVuY2UvaW1hZ2VzL2xhbmctZW4uZ2lmIiAvPgo8L2E+Cjwv
255
+ cD4KPC9kaXY+CjxkaXYgaWQ9ImRzLWxpbmstYm94Ij4KPGEgdGFyZ2V0PSJu
256
+ ZXciIGhyZWY9Imh0dHA6Ly91aXQubm8vdWIiPlVCPC9hPgo8YSB0YXJnZXQ9
257
+ Im5ldyIgaHJlZj0iaHR0cDovL3VpdC5ubyI+VWlUPC9hPgo8YSB0YXJnZXQ9
258
+ Im5ldyIgaHJlZj0iaHR0cDovL3d3dy51Yi51aW8ubm8vbm9yYS9zZWFyY2gu
259
+ aHRtbCI+Tk9SQTwvYT4KPC9kaXY+CjwvZGl2Pgo8ZGl2IHhtbG5zPSJodHRw
260
+ czovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgaWQ9ImRzLWJvZHkiPgo8aDEg
261
+ Y2xhc3M9ImRzLWRpdi1oZWFkIj5JS1QtZm9yYmluZGVsc2VyIGkgaGVsc2Vz
262
+ ZWt0b3JlbiwmIzEzOwpTYW1tZW52ZXZpbmdlciBhdiBJS1QsIHN0ZWRlciwg
263
+ eXJrZXIsIGtqw7hubiBvZyBwb2xpdGlrazwvaDE+CjxkaXYgeG1sbnM9Imh0
264
+ dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGlkPSJhc3BlY3RfYXJ0aWZh
265
+ Y3Ricm93c2VyX0l0ZW1WaWV3ZXJfZGl2X2l0ZW0tdmlldyIgY2xhc3M9ImRz
266
+ LXN0YXRpYy1kaXYgcHJpbWFyeSI+CjxwIGNsYXNzPSJkcy1wYXJhZ3JhcGgg
267
+ aXRlbS12aWV3LXRvZ2dsZSBpdGVtLXZpZXctdG9nZ2xlLXRvcCI+CiAgICAg
268
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgwqAKICAgICAgICAgICAgICAg
269
+ ICAgICAgICAgPC9wPgo8IS0tIEV4dGVybmFsIE1ldGFkYXRhIFVSTDogY29j
270
+ b29uOi8vbWV0YWRhdGEvaGFuZGxlLzEwMDM3LzM4MjYvbWV0cy54bWwtLT4K
271
+ PGRpdiB4bWxucz0iaHR0cHM6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGNs
272
+ YXNzPSJzaGFyZUJveCI+CjxhIHRpdGxlPSJUd2VldCIgdGFyZ2V0PSJfYmxh
273
+ bmsiIGhyZWY9Imh0dHA6Ly90d2l0dGVyLmNvbS9zaGFyZSIgdXJsPSIvbXVu
274
+ aW4iPgo8aW1nIGJvcmRlcj0iMCIgYWx0PSJUd2VldCIgc3JjPSIvbXVuaW4v
275
+ dGhlbWVzL1JlZmVyZW5jZS9pbWFnZXMvdHdpdHRlci1pY29uLTE0eDE0LnBu
276
+ ZyIgLz4KPC9hPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
277
+ PSJodHRwOi8vc3RhdGljLmFrLmZiY2RuLm5ldC9jb25uZWN0LnBocC9qcy9G
278
+ Qi5TaGFyZSI+CglZb3VyIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGphdmFz
279
+ Y3JpcHQuCiAgICAgIDwvc2NyaXB0Pgo8YSB0aXRsZT0iU2hhcmUgb24gRmFj
280
+ ZWJvb2siIGhyZWY9Imh0dHA6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci5w
281
+ aHAiIHR5cGU9Imljb24iIG5hbWU9ImZiX3NoYXJlIj5EZWwgcMOlIEZhY2Vi
282
+ b29rPC9hPgo8L2Rpdj4KPHRhYmxlIHhtbG5zOm9yZWF0b209Imh0dHA6Ly93
283
+ d3cub3BlbmFyY2hpdmVzLm9yZy9vcmUvYXRvbS8iIHhtbG5zOm9yZT0iaHR0
284
+ cDovL3d3dy5vcGVuYXJjaGl2ZXMub3JnL29yZS90ZXJtcy8iIHhtbG5zOmF0
285
+ b209Imh0dHA6Ly93d3cudzMub3JnLzIwMDUvQXRvbSIgY2xhc3M9ImRzLWlu
286
+ Y2x1ZGVTZXQtdGFibGUiPgo8dHIgeG1sbnM9Imh0dHBzOi8vd3d3LnczLm9y
287
+ Zy8xOTk5L3hodG1sIiBjbGFzcz0iZHMtdGFibGUtcm93IGV2ZW4iPgo8dGQ+
288
+ CjxzcGFuIGNsYXNzPSJib2xkIj5UaXR0ZWw6IDwvc3Bhbj4KPC90ZD4KPHRk
289
+ Pgo8c3BhbiBjbGFzcz0iWjM5ODgiIHRpdGxlPSJjdHhfdmVyPVozOS44OC0y
290
+ MDA0JmFtcDtyZnRfdmFsX2ZtdD1pbmZvJTNBb2ZpJTJGZm10JTNBa2V2JTNB
291
+ bXR4JTNBZGMmYW1wO3JmdF9pZD1GdWxsdGV4dCtodHRwJTNBJTJGJTJGd3d3
292
+ LnViLnVpdC5ubyUyRm11bmluJTJGYml0c3RyZWFtJTJGMTAwMzclMkYzODI2
293
+ JTJGMyUyRnBhcGVyXzQucGRmJmFtcDtyZnRfaWQ9RnVsbHRleHQraHR0cCUz
294
+ QSUyRiUyRnd3dy51Yi51aXQubm8lMkZtdW5pbiUyRmJpdHN0cmVhbSUyRjEw
295
+ MDM3JTJGMzgyNiUyRjIlMkZ0aGVzaXMucGRmJmFtcDtyZnRfaWQ9VVJOK1VS
296
+ TiUzQU5CTiUzQW5vLXVpdF9tdW5pbl8zNTQ4JmFtcDtyZnRfaWQ9aHR0cCUz
297
+ QSUyRiUyRmhkbC5oYW5kbGUubmV0JTJGMTAwMzclMkYzODI2JmFtcDtyZnRf
298
+ aWQ9VVJOJTNBTkJOJTNBbm8tdWl0X211bmluXzM1NDgmYW1wO3Jmcl9pZD1p
299
+ bmZvJTNBc2lkJTJGZGF0YWRyeWFkLm9yZyUzQXJlcG8mYW1wOyI+SUtULWZv
300
+ cmJpbmRlbHNlciBpIGhlbHNlc2VrdG9yZW4sJiMxMzsKU2FtbWVudmV2aW5n
301
+ ZXIgYXYgSUtULCBzdGVkZXIsIHlya2VyLCBrasO4bm4gb2cgcG9saXRpa2s8
302
+ L3NwYW4+CjwvdGQ+CjwvdHI+Cjx0ciB4bWxucz0iaHR0cHM6Ly93d3cudzMu
303
+ b3JnLzE5OTkveGh0bWwiIGNsYXNzPSJkcy10YWJsZS1yb3cgb2RkIj4KPHRk
304
+ Pgo8c3BhbiBjbGFzcz0iYm9sZCI+Rm9yZmF0dGVyOjwvc3Bhbj4KPC90ZD4K
305
+ PHRkPgo8c3Bhbj5EeWIsIEthcmk8L3NwYW4+CjwvdGQ+CjwvdHI+Cjx0ciB4
306
+ bWxucz0iaHR0cHM6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGNsYXNzPSJk
307
+ cy10YWJsZS1yb3cgZXZlbiI+Cjx0ZD4KPHNwYW4gY2xhc3M9ImJvbGQiPkRh
308
+ dG86PC9zcGFuPgo8L3RkPgo8dGQ+MjktYXByLTIwMTE8L3RkPgo8L3RyPgo8
309
+ dHIgeG1sbnM9Imh0dHBzOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBjbGFz
310
+ cz0iZHMtdGFibGUtcm93IG9kZCI+Cjx0ZD4KPHNwYW4gY2xhc3M9ImJvbGQi
311
+ PlR5cGU6PC9zcGFuPgo8L3RkPgo8dGQ+RG9jdG9yYWwgdGhlc2lzOyBEb2t0
312
+ b3JncmFkc2F2aGFuZGxpbmc8L3RkPgo8L3RyPgo8dHIgeG1sbnM9Imh0dHBz
313
+ Oi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBjbGFzcz0iZHMtdGFibGUtcm93
314
+ IGV2ZW4iPgo8dGQ+CjxzcGFuIGNsYXNzPSJib2xkIj5TYW1tZW5kcmFnOjwv
315
+ c3Bhbj4KPC90ZD4KPHRkPlRpbCB0cm9zcyBmb3IgYmV0eWRlbGlnIHBvbGl0
316
+ aXNrIHNhdHNpbmcgcMOlIMOlIGlubmbDuHJlIG55IGluZm9ybWFzam9ucy0g
317
+ b2cga29tbXVuaWthc2pvbnN0ZWtub2xvZ2kgKElLVCkgaSBoZWxzZXNla3Rv
318
+ cmVuLCBlciBkZXQgcmVsYXRpdnQgZsOlIGzDuHNuaW5nZXIgc29tIGJsaXIg
319
+ dXR2aWtsZXQgdmlkZXJlIGZyYSBlbiB1dGZvcnNrbmluZ3MtIG9nIGlubmbD
320
+ uHJpbmdzZmFzZSBvZyBpbnRlZ3JlcnQgaSBkZW4gZGFnbGlnZSBwcmFrc2lz
321
+ ZW4gaSBoZWxzZXNla3RvcmVuLiBEZW5uZSBhdmhhbmRsaW5nZW4gZXIgZXQg
322
+ YmlkcmFnIHRpbCDDpSBmb3JzdMOlIGh2YSBzb20gc2tqZXIgbsOlciBueWUg
323
+ SUtULWzDuHNuaW5nZXIgc2thbCBhbnZlbmRlcyBpIGhlbHNlc2VrdG9yZW4u
324
+ IFZlZCDDpSB0YSB1dGdhbmdzcHVua3QgaSB0cmUgdWxpa2UgZWxla3Ryb25p
325
+ c2tlIHNhbWhhbmRsaW5ncy0gb2cgZ2xvYmFsaXNlcmluZ3NtZWRpZXIgb2cg
326
+ ZsO4bGdlIGh2b3JkYW4gZGUgYmxpciBicnVrdCBlbGxlciBpa2tlIGJydWt0
327
+ IGkgcHJha3NpcywgYmlkcmFyIHN0dWRpZW4gdGlsIMOlIGthc3RlIGx5cyBv
328
+ dmVyIGh2b3JkYW4gbnkgdGVrbm9sb2dpIGlubmfDpXIgaSBmbGVyZSB1bGlr
329
+ ZSByZWxhc2pvbmVyIGkgc2VrdG9yZW4sIG9nIGh2b3JkYW4gZGlzc2Ugc2Ft
330
+ bWVudmV2aW5nZW5lIGhhciBiZXR5ZG5pbmcgZm9yIGRlbiBrb25rcmV0ZSBi
331
+ cnVrZW4uIERlIHRlbWF0aXNrZSBvbXLDpWRlbmUgc29tIGJlbHlzZXMgZXIg
332
+ cmVsYXNqb25lciBrbnl0dGV0IHRpbCBodm9yIGzDuHNuaW5nZW5lIHNrYWwg
333
+ YnJ1a2VzLCBodmVtIGJydWtlcmVuIGVyLCBodm9yZGFuIGzDuHNuaW5nZW5l
334
+ IGJsaXIgYnJ1a3QsIGh2b3JkYW4gZGUgYmxpciBmb3JzdMOldHQgb2cgaHZv
335
+ cmRhbiBkaXNzZSB1bGlrZSBhc3Bla3RlbmUgdmV2ZXMgc2FtbWVuLiBEZXQg
336
+ dGlsYnlzIHVsaWtlIGxlc25pbmdlciBhdiBmb3JiaW5kZWxzZXIgbWVsbG9t
337
+ IGVuIG55IGdsb2JhbGlzZXJpbmdzdGVrbm9sb2dpIG9nIHN0ZWRldCBlbGxl
338
+ ciBsb2thbGl0ZXRlbiBodm9yIHRla25vbG9naWVuIHNrYWwgYW52ZW5kZXMs
339
+ IG1lbGxvbSBJS1QsIHlya2VyIG9nIHlya2VzcmVsYXNqb25lciwgbWVsbG9t
340
+ IElLVCwga2rDuG5uIG9nIGtqw7hubnNyZWxhc2pvbmVyLCBvZyBtZWxsb20g
341
+ a29ua3JldCB0ZWtub2xvZ2licnVrIG9nIGhlbHNlcG9saXRpc2tlIHRla25v
342
+ bG9naWZvcnN0w6VlbHNlci4gSUtULWZvcmJpbmRlbHNlbmUsIGVsbGVyIG1l
343
+ ciBuw7h5YWt0aWcgc2FtbWVudmV2aW5nZW5lIGF2IGRlIHVsaWtlIGZvcmJp
344
+ bmRlbHNlbmUsIHZpc2VyIHNlZyDDpSB2w6ZyZSBhdmdqw7hyZW5kZSBmb3Ig
345
+ b20gb2cgaHZvcmRhbiBkZW4gbnllIHRla25vbG9naWVuIGJsaXIgYnJ1a3Qg
346
+ aSBzZWt0b3Jlbi48L3RkPgo8L3RyPgo8dHIgeG1sbnM9Imh0dHBzOi8vd3d3
347
+ LnczLm9yZy8xOTk5L3hodG1sIiBjbGFzcz0iZHMtdGFibGUtcm93IG9kZCI+
348
+ Cjx0ZD4KPHNwYW4gY2xhc3M9ImJvbGQiPkJlc2tyaXZlbHNlOjwvc3Bhbj4K
349
+ PC90ZD4KPHRkPlBhcGVycyAxLDIsMyBhbmQgNSBvZiB0aGlzIHRoZXNpcyBh
350
+ cmUgbm90IGF2YWlsYWJsZSBpbiBNdW5pbjogPGJyLz4xLiBEeWIsIEthcmkg
351
+ YW5kIEhhbGZvcmQsIFN1c2FuOiAnUGxhY2luZyBnbG9iYWxpemluZyB0ZWNo
352
+ bm9sb2dpZXMgOiB0ZWxlbWVkaWNpbmUgYW5kIHRoZSBtYWtpbmcgb2YgZGlm
353
+ ZmVyZW5jZScsIFNvY2lvbG9neSAoMjAwOSkgdm9sLiA0MygyKToyMzItMjQ5
354
+ LiBBdmFpbGFibGUgYXQgPGEgaHJlZj1odHRwOi8vZHguZG9pLm9yZy8xMC4x
355
+ MTc3LzAwMzgwMzg1MDgxMDExNjM+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTE3
356
+ Ny8wMDM4MDM4NTA4MTAxMTYzPC9hPiA8YnIvPjIuIER5YiwgS2FyaTogJ0pv
357
+ cmRtb3Jza2FwIG9nIHRla25vbG9naScsIFRpZHNza3JpZnQgZm9yIGtqw7hu
358
+ bnNmb3Jza25pbmcgKDIwMDkpIHZvbC4gMzMoMyk6MTc2LTIwOS4gQXZhaWxh
359
+ YmxlIGF0IDxhIGhyZWY9aHR0cDovL3d3dy5pZHVubi5uby90cy90ZmsvMjAw
360
+ OS8wMy9hcnQwMj5odHRwOi8vd3d3LmlkdW5uLm5vL3RzL3Rmay8yMDA5LzAz
361
+ L2FydDAyPC9hPiA8YnIvPjMuIEhhbGZvcmQsIFN1c2FuOyBMb3RoZXJpbmd0
362
+ b24sIEFubiBUaGVyZXNlOyBEeWIsIEthcmkgYW5kIE9ic3RmZWxkZXIsIEF1
363
+ ZDogJ1VuL2RvaW5nIEdlbmRlciB3aXRoIElDVD8nLCBOT1JBIC0gTm9yZGlj
364
+ IEpvdXJuYWwgb2YgRmVtaW5pc3QgYW5kIEdlbmRlciBSZXNlYXJjaCAoMjAx
365
+ MCkgdm9sLiAxOCgxKToyMC0zNy4gQXZhaWxhYmxlIGF0IDxhIGhyZWY9aHR0
366
+ cDovL2R4LmRvaS5vcmcvMTAuMTA4MC8wODAzODc0MTAwMzYyNjc5MT5odHRw
367
+ Oi8vZHguZG9pLm9yZy8xMC4xMDgwLzA4MDM4NzQxMDAzNjI2NzkxPC9hPiA8
368
+ YnIvPjUuIFN1c2FuIEhhbGZvcmQ7IEFubiBUaGVyZXNlIExvdGhlcmluZ3Rv
369
+ bjsgQXVkIE9ic3RmZWxkZXIgYW5kIEthcmkgRHliOiAnR2V0dGluZyB0aGUg
370
+ d2hvbGUgcGljdHVyZT8gTmV3IGluZm9ybWF0aW9uIGFuZCBjb21tdW5pY2F0
371
+ aW9uIHRlY2hub2xvZ2llcyBpbiBoZWFsdGhjYXJlIHdvcmsgYW5kIG9yZ2Fu
372
+ aXphdGlvbicsIEluZm9ybWF0aW9uLCBDb21tdW5pY2F0aW9uIGFuZCBTb2Np
373
+ ZXR5ICgyMDEwKSB2b2wuIDEzKDMpOjQ0Mi00NjUuIEF2YWlsYWJsZSBhdCA8
374
+ YSBocmVmPWh0dHA6Ly9keC5kb2kub3JnLzEwLjEwODAvMTM2OTExODA5MDMw
375
+ OTU4NTY+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTA4MC8xMzY5MTE4MDkwMzA5
376
+ NTg1NjwvYT48L3RkPgo8L3RyPgo8dHIgeG1sbnM9Imh0dHBzOi8vd3d3Lncz
377
+ Lm9yZy8xOTk5L3hodG1sIiBjbGFzcz0iZHMtdGFibGUtcm93IGV2ZW4iPgo8
378
+ dGQ+CjxzcGFuIGNsYXNzPSJib2xkIj5Gb3JsYWc6PC9zcGFuPgo8L3RkPgo8
379
+ dGQ+VW5pdmVyc2l0ZXRldCBpIFRyb21zw7g7IFVuaXZlcnNpdHkgb2YgVHJv
380
+ bXPDuDwvdGQ+CjwvdHI+Cjx0ciB4bWxucz0iaHR0cHM6Ly93d3cudzMub3Jn
381
+ LzE5OTkveGh0bWwiIGNsYXNzPSJkcy10YWJsZS1yb3cgb2RkIj4KPHRkPgo8
382
+ c3BhbiBjbGFzcz0iYm9sZCI+VVJJOjwvc3Bhbj4KPC90ZD4KPHRkPmh0dHA6
383
+ Ly9oZGwuaGFuZGxlLm5ldC8xMDAzNy8zODI2PC90ZD4KPC90cj4KPC90YWJs
384
+ ZT4KPGEgeG1sbnM9Imh0dHBzOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBu
385
+ YW1lPSJiaXRzdHJlYW1zIj4KPGgyPlRpbGjDuHJlbmRlIGZpbChlcik8L2gy
386
+ Pgo8L2E+Cjx0YWJsZSB4bWxucz0iaHR0cHM6Ly93d3cudzMub3JnLzE5OTkv
387
+ eGh0bWwiIGNsYXNzPSJkcy10YWJsZSBmaWxlLWxpc3QiPgo8dHIgY2xhc3M9
388
+ ImRzLXRhYmxlLWhlYWRlci1yb3ciPgo8dGg+RmlsZXI8L3RoPgo8dGg+U3TD
389
+ uHJyZWxzZTwvdGg+Cjx0aD5Gb3JtYXQ8L3RoPgo8dGg+VmlzPC90aD4KPHRo
390
+ PkJlc2tyaXZlbHNlPC90aD4KPC90cj4KPHRyIGNsYXNzPSJkcy10YWJsZS1y
391
+ b3cgb2RkICI+Cjx0ZD4KPGEgaHJlZj0iL211bmluL2JpdHN0cmVhbS9oYW5k
392
+ bGUvMTAwMzcvMzgyNi90aGVzaXMucGRmP3NlcXVlbmNlPTIiIHRpdGxlPSJ0
393
+ aGVzaXMucGRmIiB0YXJnZXQ9Il9ibGFuayI+dGhlc2lzLnBkZjwvYT4KPC90
394
+ ZD4KPHRkPjU0NS4zS2I8L3RkPgo8dGQ+UERGPC90ZD4KPHRkIHhtbG5zPSJo
395
+ dHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KPGEgaHJlZj0iL211bmlu
396
+ L2JpdHN0cmVhbS9oYW5kbGUvMTAwMzcvMzgyNi90aGVzaXMucGRmP3NlcXVl
397
+ bmNlPTIiIHRhcmdldD0iX2JsYW5rIj7DhXBuZTwvYT4KPC90ZD4KPHRkPlRo
398
+ ZXNpcyBpbnRyb2R1Y3Rpb248L3RkPgo8L3RyPgo8dHIgY2xhc3M9ImRzLXRh
399
+ YmxlLXJvdyBldmVuICI+Cjx0ZD4KPGEgaHJlZj0iL211bmluL2JpdHN0cmVh
400
+ bS9oYW5kbGUvMTAwMzcvMzgyNi9wYXBlcl80LnBkZj9zZXF1ZW5jZT0zIiB0
401
+ aXRsZT0icGFwZXJfNC5wZGYiIHRhcmdldD0iX2JsYW5rIj5wYXBlcl80LnBk
402
+ ZjwvYT4KPC90ZD4KPHRkPjEyMC4zS2I8L3RkPgo8dGQ+UERGPC90ZD4KPHRk
403
+ IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KPGEgaHJl
404
+ Zj0iL211bmluL2JpdHN0cmVhbS9oYW5kbGUvMTAwMzcvMzgyNi9wYXBlcl80
405
+ LnBkZj9zZXF1ZW5jZT0zIiB0YXJnZXQ9Il9ibGFuayI+w4VwbmU8L2E+Cjwv
406
+ dGQ+Cjx0ZD5LYXJpIER5YjogJ0JydWsvaWtrZSBicnVrIGF2IHRlbGVtZWRp
407
+ c2luIGkgc3ZhbmdlcnNrYXBzLSBvZyBmw7hkc2Vsc29tc29nZW4nLCBOb3Jk
408
+ aXNrIFRpZHNza3JpZnQgZm9yIEhlbHNlZm9yc2tuaW5nICgyMDExKSwgdm9s
409
+ LiA3KDIpOjYyLTc4PC90ZD4KPC90cj4KPC90YWJsZT4KPGRpdiB4bWxucz0i
410
+ aHR0cHM6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGNsYXNzPSJsaWNlbnNl
411
+ LWluZm8iPgo8cD5Gw7hsZ2VuZGUgbGlzZW5zZmlsIGVyIGtueXR0ZXQgdGls
412
+ IGRlbm5lIGlubmbDuHJzZWxlbjo8L3A+Cjx1bD4KPGxpPgo8YSBocmVmPSJo
413
+ dHRwOi8vd3d3LnViLnVpdC5uby9tdW5pbi1qc3B1aS9saWNlbnNlL3ZpZXct
414
+ bGljZW5zZS5qc3A/bGljZW5zZWxpbms9L211bmluL2JpdHN0cmVhbS9oYW5k
415
+ bGUvMTAwMzcvMzgyNi9saWNlbnNlLnR4dD9zZXF1ZW5jZT0xIj5PcmlnaW5h
416
+ bCBsaXNlbnM8L2E+CjwvbGk+CjwvdWw+CjwvZGl2Pgo8aDMgY2xhc3M9ImRz
417
+ LWxpc3QtaGVhZCI+RGVubmUgaW5uZsO4cnNlbGVuIGZpbm5lcyBpIGbDuGxn
418
+ ZW5kZSBzYW1saW5nKGVyKTwvaDM+Cjx1bCBjbGFzcz0iZHMtcmVmZXJlbmNl
419
+ U2V0LWxpc3QiPgo8IS0tIEV4dGVybmFsIE1ldGFkYXRhIFVSTDogY29jb29u
420
+ Oi8vbWV0YWRhdGEvaGFuZGxlLzEwMDM3LzI4MS9tZXRzLnhtbC0tPgo8bGk+
421
+ CjxhIHhtbG5zOm9yZWF0b209Imh0dHA6Ly93d3cub3BlbmFyY2hpdmVzLm9y
422
+ Zy9vcmUvYXRvbS8iIHhtbG5zOm9yZT0iaHR0cDovL3d3dy5vcGVuYXJjaGl2
423
+ ZXMub3JnL29yZS90ZXJtcy8iIHhtbG5zOmF0b209Imh0dHA6Ly93d3cudzMu
424
+ b3JnLzIwMDUvQXRvbSIgaHJlZj0iL211bmluL2hhbmRsZS8xMDAzNy8yODEi
425
+ PkRva3RvcmdyYWRzYXZoYW5kbGluZ2VyIChIU0wtZmFrKTwvYT4gWzEzMV08
426
+ YnIgeG1sbnM6b3JlYXRvbT0iaHR0cDovL3d3dy5vcGVuYXJjaGl2ZXMub3Jn
427
+ L29yZS9hdG9tLyIgeG1sbnM6b3JlPSJodHRwOi8vd3d3Lm9wZW5hcmNoaXZl
428
+ cy5vcmcvb3JlL3Rlcm1zLyIgeG1sbnM6YXRvbT0iaHR0cDovL3d3dy53My5v
429
+ cmcvMjAwNS9BdG9tIiAvPgo8L2xpPgo8L3VsPgo8cCBjbGFzcz0iZHMtcGFy
430
+ YWdyYXBoIGl0ZW0tdmlldy10b2dnbGUgaXRlbS12aWV3LXRvZ2dsZS1ib3R0
431
+ b20iPgo8YSBocmVmPSIvbXVuaW4vaGFuZGxlLzEwMDM3LzM4MjY/c2hvdz1m
432
+ dWxsIiBjbGFzcz0iIj5WaXMgZnVsbCBpbm5mw7hyc2VsPC9hPgo8L3A+Cjwv
433
+ ZGl2Pgo8L2Rpdj4KPGRpdiB4bWxucz0iaHR0cHM6Ly93d3cudzMub3JnLzE5
434
+ OTkveGh0bWwiIGlkPSJkcy1vcHRpb25zIj4KPGgzIGNsYXNzPSJkcy1vcHRp
435
+ b24tc2V0LWhlYWQiIGlkPSJkcy1zZWFyY2gtb3B0aW9uLWhlYWQiPlPDuGsg
436
+ aSBNdW5pbjwvaDM+CjxkaXYgY2xhc3M9ImRzLW9wdGlvbi1zZXQiIGlkPSJk
437
+ cy1zZWFyY2gtb3B0aW9uIj4KPGZvcm0gbWV0aG9kPSJwb3N0IiBpZD0iZHMt
438
+ c2VhcmNoLWZvcm0iIGFjdGlvbj0iL211bmluL3NlYXJjaCI+CjxmaWVsZHNl
439
+ dD4KPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJkcy10ZXh0LWZpZWxkICIg
440
+ bmFtZT0icXVlcnkiIC8+CjxiciAvPgo8aW5wdXQgdmFsdWU9IlPDuGsiIHR5
441
+ cGU9InN1Ym1pdCIgbmFtZT0ic3VibWl0IiBjbGFzcz0iZHMtYnV0dG9uLWZp
442
+ ZWxkICIgb25jbGljaz0iJiMxMDsgICAgICAgICAgICAgICAgICAgICAgICAg
443
+ ICAgICAgICAgICB2YXIgcmFkaW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
444
+ ZCgmcXVvdDtkcy1zZWFyY2gtZm9ybS1zY29wZS1jb250YWluZXImcXVvdDsp
445
+ OyYjMTA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg
446
+ KHJhZGlvICE9IHVuZGVmaW5lZCAmYW1wOyZhbXA7IHJhZGlvLmNoZWNrZWQp
447
+ JiMxMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7JiMx
448
+ MDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZm9y
449
+ bSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90O2RzLXNlYXJjaC1m
450
+ b3JtJnF1b3Q7KTsmIzEwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
451
+ ICAgICAgIGZvcm0uYWN0aW9uPSYjMTA7ICAgICAgICAgICAgICAgICAgICAg
452
+ ICAgICAgICAgICAmcXVvdDsvbXVuaW4vaGFuZGxlLyZxdW90OyArIHJhZGlv
453
+ LnZhbHVlICsgJnF1b3Q7L3NlYXJjaCZxdW90OyA7ICYjMTA7ICAgICAgICAg
454
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgfSYjMTA7ICAgICAgICAgICAg
455
+ ICAgICAgICAgICAgICAgICAgICAiIC8+CjxiciAvPgo8bGFiZWwgY2xhc3M9
456
+ InNlYXJjaC1vcHRpb25zIj4KPGlucHV0IHZhbHVlPSIiIG5hbWU9InNjb3Bl
457
+ IiB0eXBlPSJyYWRpbyIgaWQ9ImRzLXNlYXJjaC1mb3JtLXNjb3BlLWFsbCIg
458
+ Lz5Tw7hrIGkgTXVuaW48L2xhYmVsPgo8YnIgLz4KPGxhYmVsIGNsYXNzPSJz
459
+ ZWFyY2gtb3B0aW9ucyI+CjxpbnB1dCBjaGVja2VkPSJjaGVja2VkIiBuYW1l
460
+ PSJzY29wZSIgdHlwZT0icmFkaW8iIGlkPSJkcy1zZWFyY2gtZm9ybS1zY29w
461
+ ZS1jb250YWluZXIiIHZhbHVlPSIxMDAzNy8yODEiIC8+RGVubmUgc2FtbGlu
462
+ Z2VuPC9sYWJlbD4KPC9maWVsZHNldD4KPC9mb3JtPgo8YSBocmVmPSIvbXVu
463
+ aW4vYWR2YW5jZWQtc2VhcmNoIj5BdmFuc2VydCBzw7hrPC9hPgo8L2Rpdj4K
464
+ PGgzIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBjbGFz
465
+ cz0iZHMtb3B0aW9uLXNldC1oZWFkIj5CbGEgaTo8L2gzPgo8ZGl2IHhtbG5z
466
+ PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBpZD0iYXNwZWN0X2Fy
467
+ dGlmYWN0YnJvd3Nlcl9OYXZpZ2F0aW9uX2xpc3RfYnJvd3NlIiBjbGFzcz0i
468
+ ZHMtb3B0aW9uLXNldCI+Cjx1bCBjbGFzcz0iZHMtb3B0aW9ucy1saXN0Ij4K
469
+ PGxpPgo8aDQgY2xhc3M9ImRzLXN1Ymxpc3QtaGVhZCI+SGVsZSBNdW5pbjwv
470
+ aDQ+Cjx1bCBjbGFzcz0iZHMtc2ltcGxlLWxpc3QiPgo8bGk+CjxhIGhyZWY9
471
+ Ii9tdW5pbi9jb21tdW5pdHktbGlzdCIgY2xhc3M9IiI+RW5oZXRlciBvZyBz
472
+ YW1saW5nZXI8L2E+CjwvbGk+CjxsaT4KPGEgaHJlZj0iL211bmluL2Jyb3dz
473
+ ZT90eXBlPWF1dGhvciIgY2xhc3M9IiI+Rm9yZmF0dGVybGlzdGU8L2E+Cjwv
474
+ bGk+CjxsaT4KPGEgaHJlZj0iL211bmluL2Jyb3dzZT90eXBlPXRpdGxlIiBj
475
+ bGFzcz0iIj5UaXR0ZWw8L2E+CjwvbGk+CjxsaT4KPGEgaHJlZj0iL211bmlu
476
+ L2Jyb3dzZT90eXBlPWRhdGVpc3N1ZWQiIGNsYXNzPSIiPkRhdG88L2E+Cjwv
477
+ bGk+CjxsaT4KPGEgaHJlZj0iL211bmluL2Jyb3dzZT90eXBlPWF1dGhvcnMi
478
+ IGNsYXNzPSIiPkZvcmZhdHRlcjwvYT4KPC9saT4KPC91bD4KPC9saT4KPGxp
479
+ Pgo8aDQgY2xhc3M9ImRzLXN1Ymxpc3QtaGVhZCI+RGVubmUgc2FtbGluZ2Vu
480
+ PC9oND4KPHVsIGNsYXNzPSJkcy1zaW1wbGUtbGlzdCI+CjxsaT4KPGEgaHJl
481
+ Zj0iL211bmluL2hhbmRsZS8xMDAzNy8yODEvYnJvd3NlP3R5cGU9YXV0aG9y
482
+ IiBjbGFzcz0iIj5Gb3JmYXR0ZXJsaXN0ZTwvYT4KPC9saT4KPGxpPgo8YSBo
483
+ cmVmPSIvbXVuaW4vaGFuZGxlLzEwMDM3LzI4MS9icm93c2U/dHlwZT10aXRs
484
+ ZSIgY2xhc3M9IiI+VGl0dGVsPC9hPgo8L2xpPgo8bGk+CjxhIGhyZWY9Ii9t
485
+ dW5pbi9oYW5kbGUvMTAwMzcvMjgxL2Jyb3dzZT90eXBlPWRhdGVpc3N1ZWQi
486
+ IGNsYXNzPSIiPkRhdG88L2E+CjwvbGk+CjxsaT4KPGEgaHJlZj0iL211bmlu
487
+ L2hhbmRsZS8xMDAzNy8yODEvYnJvd3NlP3R5cGU9YXV0aG9ycyIgY2xhc3M9
488
+ IiI+Rm9yZmF0dGVyPC9hPgo8L2xpPgo8L3VsPgo8L2xpPgo8L3VsPgo8L2Rp
489
+ dj4KPGgzIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBj
490
+ bGFzcz0iZHMtb3B0aW9uLXNldC1oZWFkIj5TdGF0aXN0aWtrPC9oMz4KPGRp
491
+ diB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgaWQ9ImFz
492
+ cGVjdF9hcnRpZmFjdGJyb3dzZXJfTmF2aWdhdGlvbl9saXN0X3N0YXRpc3Rp
493
+ Y3MiIGNsYXNzPSJkcy1vcHRpb24tc2V0Ij4KPHVsIGNsYXNzPSJkcy1zaW1w
494
+ bGUtbGlzdCI+CjxsaT4KPGEgaHJlZj0iL211bmluL2hhbmRsZS8xMDAzNy8z
495
+ ODI2L3N0YXRpc3RpY3MiIGNsYXNzPSIiPlZpcyBzdGF0aXN0aWtrPC9hPgo8
496
+ L2xpPgo8L3VsPgo8L2Rpdj4KPGgzIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
497
+ Zy8xOTk5L3hodG1sIiBjbGFzcz0iZHMtb3B0aW9uLXNldC1oZWFkIj5IamVs
498
+ cDwvaDM+CjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0
499
+ bWwiIGlkPSJhc3BlY3RfYXJ0aWZhY3Ricm93c2VyX05hdmlnYXRpb25fbGlz
500
+ dF9oZWxwIiBjbGFzcz0iZHMtb3B0aW9uLXNldCI+Cjx1bCBjbGFzcz0iZHMt
501
+ c2ltcGxlLWxpc3QiPgo8bGk+CjxhIGhyZWY9Imh0dHA6Ly93d3cudWIudWl0
502
+ Lm5vL3dpa2kvb3BlbmFjY2Vzcy9pbmRleC5waHAvTXVuaW5fRkFRIiBjbGFz
503
+ cz0iIj5GQVE8L2E+CjwvbGk+CjxsaT4KPGEgaHJlZj0iamF2YXNjcmlwdDp3
504
+ aW5kb3cub3BlbignL211bmluL2Fib3V0LW5vLmh0bWwnLCdkc3BhY2Vwb3B1
505
+ cCcsJ2hlaWdodD03NDAsd2lkdGg9NTUwLGxvY2F0aW9uLHJlc2l6YWJsZSxz
506
+ Y3JvbGxiYXJzJykuZm9jdXMoKTsiIGNsYXNzPSIiPk9tIE11bmluPC9hPgo8
507
+ L2xpPgo8L3VsPgo8L2Rpdj4KPC9kaXY+Cgo8ZGl2IHhtbG5zPSJodHRwczov
508
+ L3d3dy53My5vcmcvMTk5OS94aHRtbCIgaWQ9ImRzLWZvb3RlciI+CjxzcGFu
509
+ IHN0eWxlPSJmbG9hdDogbGVmdDsiPgo8aWZyYW1lIHNyYz0iJiMxMDsmIzk7
510
+ ICAgICAgaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3BsdWdpbnMvbGlrZS5w
511
+ aHA/aHJlZj1odHRwJTNBJTJGJTJGd3d3LmZhY2Vib29rLmNvbSUyRnBhZ2Vz
512
+ JTJGTXVuaW4tVGhlLUluc3RpdHV0aW9uYWwtUmVwb3NpdG9yeS1vZi1UaGUt
513
+ VW5pdmVyc2l0eS1vZi1Ucm9tc28lMkYxMjg2MTA5NTM4NTY5MjAmYW1wO2xh
514
+ eW91dD1zdGFuZGFyZCZhbXA7c2hvd19mYWNlcz10cnVlJmFtcDt3aWR0aD00
515
+ NTAmYW1wO2FjdGlvbj1yZWNvbW1lbmQmYW1wO2NvbG9yc2NoZW1lPWxpZ2h0
516
+ JmFtcDtoZWlnaHQ9ODAmIzEwOyYjOTsgICAgIiBzY3JvbGxpbmc9IiYjMTA7
517
+ JiM5OyAgICAgIG5vJiMxMDsmIzk7ICAgICIgZnJhbWVib3JkZXI9IiYjMTA7
518
+ JiM5OyAgICAgIDAmIzEwOyYjOTsgICAgIiBzdHlsZT0iJiMxMDsmIzk7ICAg
519
+ ICAgYm9yZGVyOm5vbmU7IG92ZXJmbG93OmhpZGRlbjsgd2lkdGg6NjgwcHg7
520
+ IGhlaWdodDo4MHB4OyYjMTA7JiM5OyAgICAiIGFsbG93VHJhbnNwYXJlbmN5
521
+ PSImIzEwOyYjOTsgICAgICB0cnVlJiMxMDsmIzk7ICAgICI+CgkgIFlvdXIg
522
+ YnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgZnJhbWVzLgoJPC9pZnJhbWU+Cjwv
523
+ c3Bhbj4KPHNwYW4gc3R5bGU9ImZsb2F0OiByaWdodDsiPgo8cCBzdHlsZT0i
524
+ ZmxvYXQ6IHJpZ2h0OyB0ZXh0LWFsaWduOiByaWdodDsiPgoJICAgICAgICAg
525
+ IE11bmluIGJ5Z2dlciBww6UgPGEgaHJlZj0iaHR0cDovL3d3dy5kc3BhY2Uu
526
+ b3JnIj5EU3BhY2U8L2E+IDEuNi4yPGJyIC8+CgkJICBVbml2ZXJzaXRldHNi
527
+ aWJsaW90ZWtldCBpIFRyb21zw7gsIDkwMzcgVHJvbXPDuDxiciAvPlRsZjog
528
+ NzcgNjQgNDAgMDAsIEUtcG9zdDogPGEgaHJlZj0ibWFpbHRvOm11bmluQHVi
529
+ LnVpdC5ubyI+bXVuaW5AdWIudWl0Lm5vPC9hPgoJPC9wPgo8L3NwYW4+Cjxh
530
+ IGhyZWY9Ii9tdW5pbi9odG1sbWFwIiAvPgo8L2Rpdj4KPC9kaXY+CjwvYm9k
531
+ eT4KPC9odG1sPgo=
532
+ http_version:
533
+ recorded_at: Wed, 22 Feb 2012 22:35:51 GMT
534
+ recorded_with: VCR 2.0.0.rc1
data/spec/data_spec.rb ADDED
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe DoctorScrape::Data do
4
+
5
+ it "has getters and setters" do
6
+ data = DoctorScrape::Data.new
7
+ data.author = "Foobar"
8
+ data.author.should eq("Foobar")
9
+ end
10
+
11
+ it "returns the fields" do
12
+ data = DoctorScrape::Data.new
13
+ data.author = "Foobar"
14
+ data.issued = "2012"
15
+
16
+ data.fields.should == [ :author, :issued ]
17
+ end
18
+
19
+ it "returns attributes and values as a hash" do
20
+ DoctorScrape::Data.new(foo: "Foo", bar: "Bar", number: 12).to_hash.should == { foo: "Foo", bar: "Bar", number: 12 }
21
+ end
22
+ end
@@ -0,0 +1,40 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe "brage.bibsys.no" do
5
+ let(:scraper) { DoctorScrape::Scraper::Meta.new url }
6
+
7
+ context "http://brage.bibsys.no/nhh/handle/URN:NBN:no-bibsys_brage_24121" do
8
+ setup_scraper_for "http://brage.bibsys.no/nhh/handle/URN:NBN:no-bibsys_brage_24121"
9
+
10
+ its(:title) { should eq "Generation of interpersonal skills : a study of informal learning among volunteers" }
11
+ its(:author) { should eq "Elstad, Beate" }
12
+ its(:issued) { should eq "2000" }
13
+ its(:permalink) { should eq "http://idtjeneste.nb.no/URN:NBN:no-bibsys_brage_24121" }
14
+ its(:pdf) { should eq "http://brage.bibsys.no/nhh/bitstream/URN:NBN:no-bibsys_brage_24121/1/Elstad_2000.pdf" }
15
+ its(:abstract) { should be_nil }
16
+ end
17
+
18
+ context "http://brage.bibsys.no/nhh/handle/URN:NBN:no-bibsys_brage_22813" do
19
+ setup_scraper_for "http://brage.bibsys.no/nhh/handle/URN:NBN:no-bibsys_brage_22813"
20
+
21
+ its(:title) { should eq "Accounting for and valuation of pensions in Norway : earnings management and whether analysts detect it" }
22
+ its(:author) { should eq "Kinserdal, Finn" }
23
+ its(:issued) { should eq "2006-10" }
24
+ its(:permalink) { should eq "http://idtjeneste.nb.no/URN:NBN:no-bibsys_brage_22813" }
25
+ its(:pdf) { should eq "http://brage.bibsys.no/nhh/bitstream/URN:NBN:no-bibsys_brage_22813/1/kinserdal%20finn%202006.pdf" }
26
+ its(:abstract) { should match %r{^Conclusions and\s+summary of “Accounting for and valuation of pensions in Norway} }
27
+ end
28
+
29
+ context "http://brage.bibsys.no/hibo/handle/URN:NBN:no-bibsys_brage_17854" do
30
+ setup_scraper_for "http://brage.bibsys.no/hibo/handle/URN:NBN:no-bibsys_brage_17854"
31
+
32
+ its(:title) { should eq "Network reflection : a road to regional learning, trust and innovation" }
33
+ its(:author) { should eq "Gausdal, Anne" }
34
+ its(:issued) { should eq "2008" }
35
+ its(:permalink) { should eq "http://idtjeneste.nb.no/URN:NBN:no-bibsys_brage_17854" }
36
+ its(:pdf) { should eq "http://brage.bibsys.no/hibo/bitstream/URN:NBN:no-bibsys_brage_17854/1/Gausdal_Anne_Haugen.pdf" }
37
+ its(:abstract) { should match /^The acknowledgement of innovation as the main driving force in economic.*networks of regional firms\.$/m }
38
+ end
39
+
40
+ end
@@ -0,0 +1,29 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe "bora.hib.no" do
5
+ let(:scraper) { DoctorScrape::Scraper::Bora.new url }
6
+
7
+ context "https://bora.hib.no/handle/10049/330" do
8
+ setup_scraper_for "https://bora.hib.no/handle/10049/330"
9
+
10
+ its(:title) { should eq "Spesialisthelsetjenesten eller primærhelsetjenesten? Hvilken oppfølging ønsker kvinner fra Nordhordland den første uken etter fødsel? - en spørreundersøkelse" }
11
+ its(:author) { should eq "Nilsen, Wenche Sofie" }
12
+ its(:issued) { should eq "2010-11" }
13
+ its(:pdf) { should eq "https://bora.hib.no/bitstream/10049/330/1/Masterthesis_Nilsen.pdf" }
14
+ its(:permalink) { should eq "http://hdl.handle.net/10049/330" }
15
+ its(:abstract) { should match /^Bakgrunn: Liggetid på barselavdelingene er.*på alvor\.$/ }
16
+ end
17
+
18
+ context "https://bora.hib.no/handle/10049/234" do
19
+ setup_scraper_for "https://bora.hib.no/handle/10049/234"
20
+
21
+ its(:title) { should eq "(En)gendering body politics. Physiotherapy as a window on health and illness" }
22
+ its(:author) { should eq "Sudman, Tobba Therkildsen" }
23
+ its(:issued) { should eq "2009-02-13" }
24
+ its(:pdf) { should eq "https://bora.hib.no/bitstream/10049/234/1/Dr.Thesis_T_Sudmann.pdf" }
25
+ its(:permalink) { should eq "http://hdl.handle.net/10049/234" }
26
+ its(:abstract) { should match /^The aim of this study is to gain.*therapeutic encounters\.$/ }
27
+ end
28
+
29
+ end
@@ -0,0 +1,18 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe "bora.uib.no" do
5
+ let(:scraper) { DoctorScrape::Scraper::Meta.new url }
6
+
7
+ context "https://bora.uib.no/handle/1956/3282" do
8
+ setup_scraper_for "https://bora.uib.no/handle/1956/3282"
9
+
10
+ its(:title) { should eq "Effects of Management on Heathland Vegetation in Western Norway" }
11
+ its(:author) { should eq "Måren, Inger Elisabeth" }
12
+ its(:issued) { should eq "2009-03-31" }
13
+ its(:permalink) { should eq "http://hdl.handle.net/1956/3282" }
14
+ its(:pdf) { should eq "https://bora.uib.no/bitstream/1956/3282/1/Dr.thesis_Inger_E._Maaren.pdf" }
15
+ its(:abstract) { should match /^Aims: This synthesis of studies examines the effects of.*the future\.$/m }
16
+ end
17
+
18
+ end