moneta-api 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9afe26d1633a8ca7b06ab6e985875eb38321fee4
4
- data.tar.gz: a0c02712a1532ee5591144f5758fe39a2e021e49
3
+ metadata.gz: 6fe15d3c1350ff4016492c7353a436039eee111f
4
+ data.tar.gz: f6243623908cdc7994f2bdbf972dd480ac407070
5
5
  SHA512:
6
- metadata.gz: 8f6610a206970c46cd942d5deaeefe267fb5e2a375e586aa8cd7dec48ee41f1a84690e6d1144594ad0397459e87df3f0a948b1499fd3c5a176d35f1618104b76
7
- data.tar.gz: c73e6706ca8dff9b853a7562450d954873db2cc09521451760f569b86907525a244fc9cebe8b031513f15bde1fb7f4a3596aa003d9c748132eb9387a9abb87a2
6
+ metadata.gz: f70113c4121d53e4ac50c00437fee404c77cd1894085059639e9963350b5f9e96f3b020e6b484da57093e7fad36b321a9e37419e8df29c88710ef0b15020a71a
7
+ data.tar.gz: 6aef658f084138d5a689dd76aacf542c266fde1bf0610b6afeba008b2da844bf691a9349949fffc547015b253b2664ee972005283daabf22bc3ff535f16c6b71
data/CHANGELOG.md CHANGED
@@ -1,3 +1,5 @@
1
+ ## 2.1.0
2
+ - Получение чека монеты в формате PDF с иcпользованием сертификатов
1
3
  ## 2.0.0
2
4
 
3
5
  - Перевод взаимодействия с Moneta.ru с SOAP на JSON.
data/README.md CHANGED
@@ -39,8 +39,11 @@ gem 'moneta-api'
39
39
  $ gem install moneta-api
40
40
 
41
41
  ## Использование
42
+ Есть несколько вариантов работы с сервисами монеты:
43
+ 1. API - работа происходит с использованием методов описанных в MONETA.MerchantAPI.v2
44
+ 2. FRONT - работа происходит напрямую с интерфейсом монеты.
42
45
 
43
- ### Примеры
46
+ ### Примеры работы c API
44
47
 
45
48
  #### Получить данные счета
46
49
 
@@ -135,10 +138,48 @@ gem 'moneta-api'
135
138
  Moneta::Api::Service.new('username', 'password', { demo_mode: true })
136
139
  ```
137
140
 
141
+
142
+ ### Примеры работы с FRONT (интерфейс монеты)
143
+
144
+ #### Получить квинтанцию оплаты в формате PDF
145
+ ```ruby
146
+ require 'moneta/api'
147
+
148
+ certificate = OpenSSL::X509::Certificate.new(File.read('cert_path'))
149
+ private_key = OpenSSL::PKey::RSA.new(File.read('key_path'), 'password')
150
+
151
+ service = Moneta::Front::Service.new(certificate, private_key, { demo_mode: true })
152
+
153
+ service.get_receipt_pdf(468398)
154
+ # => 'PDF файл'
155
+ ```
156
+
157
+ **Полный [список методов](http://www.rubydoc.info/gems/moneta-api/Moneta/Front/ServiceMethods), с помощью которых вы можете обратиться к интефейсу moneta.ru**
158
+
159
+ ### Настройки
160
+ **Для работы с интерфейсом монеты понадобиться получение сертификатов, получение подробно описано в [MONETA.MerchantAPI.v2](https://www.moneta.ru/doc/MONETA.MerchantAPI.v2.ru.pdf)**
161
+
162
+ Параметры:
163
+
164
+ Название | Описание
165
+ ---------------------------|:----------------------------------------------
166
+ `certificate` | Сертификат пользователя, полученный от монеты.
167
+ `private_key` | Приватный ключ, сгенерированный пользователем.
168
+ `:demo_mode` | Выполнение операций на демо стенде.
169
+ `:open_timeout` | Таймаут подключения.
170
+ `:filter` | Настройка фильтрации содержимого лога.
171
+
172
+ #### Demo режим
173
+ Для использования тестового сервера (http://demo.moneta.ru) следует инициализировать сервис со специальным флагом
174
+
175
+ ```ruby
176
+ Moneta::Front::Service.new(certificate, private_key, { demo_mode: true })
177
+ ```
178
+
138
179
  ## Contributing
139
180
 
140
181
  1. Стандартная схема с pull-request workflow
141
182
  2. Для локального запуска тестов необходимо создать конфигурационный файл со своими demo доступами
142
183
  ```bash
143
- echo "username: 'username'\npassword: 'password'" > spec/support/moneta.yml
184
+ cp spec/support/moneta.example.yml spec/support/moneta.yml
144
185
  ```
data/lib/moneta/api.rb CHANGED
@@ -1,10 +1,12 @@
1
1
  require 'moneta/api/version'
2
2
  require 'faraday'
3
+ require 'faraday_middleware'
3
4
  require 'oj'
4
5
  require 'active_support/core_ext/hash/indifferent_access'
5
6
  require 'active_support/core_ext/string/inflections'
6
7
 
7
8
  require 'moneta/constants/withdrawal'
9
+ require 'moneta/constants/settings'
8
10
  require 'moneta/api/options'
9
11
  require 'moneta/api/service_methods'
10
12
  require 'moneta/api/service'
@@ -122,3 +124,7 @@ require 'moneta/api/responses/approve_phone_send_confirmation_response'
122
124
  require 'moneta/api/responses/approve_phone_apply_code_response'
123
125
 
124
126
  require 'moneta/api/response_factory'
127
+
128
+ require 'moneta/front/http_exception'
129
+ require 'moneta/front/service_methods'
130
+ require 'moneta/front/service'
@@ -1,9 +1,9 @@
1
1
  module Moneta
2
2
  module Api
3
3
  class Service
4
- DEMO = 'https://demo.moneta.ru'
5
- PRODUCTION = 'https://www.moneta.ru'
6
- URL = '/services'
4
+ DEMO = Moneta::Constants::Settings::DEMO
5
+ PRODUCTION = Moneta::Constants::Settings::PRODUCTION
6
+ URL = Moneta::Constants::Settings::SERVICES_PATH
7
7
 
8
8
  include ServiceMethods
9
9
 
@@ -1,5 +1,5 @@
1
1
  module Moneta
2
2
  module Api
3
- VERSION = '2.0.0'
3
+ VERSION = '2.1.0'
4
4
  end
5
5
  end
@@ -0,0 +1,12 @@
1
+ module Moneta
2
+ module Constants
3
+ module Settings
4
+ DEMO = 'https://demo.moneta.ru'
5
+ PRODUCTION = 'https://www.moneta.ru'
6
+
7
+ SERVICES_PATH = '/services'
8
+ CERTIFICATE_PATH = '/x509'
9
+ end
10
+ end
11
+ end
12
+
@@ -0,0 +1,13 @@
1
+ module Moneta
2
+ module Front
3
+ class HTTPException < StandardError
4
+ def to_hash
5
+ { message: message }
6
+ end
7
+
8
+ def inspect
9
+ "HTTPException: #{ message }"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,51 @@
1
+ require 'moneta/api/options'
2
+
3
+ module Moneta
4
+ module Front
5
+ class Service
6
+ DEMO = Moneta::Constants::Settings::DEMO
7
+ PRODUCTION = Moneta::Constants::Settings::PRODUCTION
8
+ PATH = Moneta::Constants::Settings::CERTIFICATE_PATH
9
+
10
+ include ServiceMethods
11
+
12
+ def initialize(certificate, key, params = {})
13
+ @certificate = certificate
14
+ @key = key
15
+ @connection = connection(Moneta::Api::Options.new(params))
16
+ end
17
+
18
+ def request(url)
19
+ @connection.get(url)
20
+ end
21
+
22
+ private
23
+
24
+ def connection(options)
25
+ Faraday.new(url: endpoint(options.demo?), ssl: ssl_options) do |faraday|
26
+ faraday.use ::FaradayMiddleware::FollowRedirects, limit: 10
27
+
28
+ if options.logger
29
+ faraday.response :logger, options.logger, bodies: options.log_bodies? do |logger|
30
+ options.filter.each do |subject, replacement|
31
+ logger.filter(/#{ subject }/, replacement)
32
+ end
33
+ end
34
+ end
35
+
36
+ faraday.adapter :net_http do |http|
37
+ http.open_timeout = options.open_timeout
38
+ end
39
+ end
40
+ end
41
+
42
+ def endpoint(demo)
43
+ (demo ? DEMO : PRODUCTION) + PATH
44
+ end
45
+
46
+ def ssl_options
47
+ { client_cert: @certificate, client_key: @key, verify: false }
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,26 @@
1
+ module Moneta
2
+ module Front
3
+ module ServiceMethods
4
+ def get_receipt_pdf(operation_id)
5
+ url = "report/receipt.htm?operationId=#{operation_id}&format=pdf"
6
+
7
+ call(url)
8
+ end
9
+
10
+ private
11
+
12
+ def call(url)
13
+ response = request(url)
14
+
15
+ case response.status
16
+ when 200..230 then response.body
17
+ else
18
+ raise Moneta::Front::HTTPException.new("Status code: #{response.status}")
19
+ end
20
+
21
+ rescue Faraday::Error => e
22
+ raise Moneta::Front::HTTPException.new(e.message)
23
+ end
24
+ end
25
+ end
26
+ end
data/moneta-api.gemspec CHANGED
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.required_ruby_version = '>= 2.0'
22
22
 
23
23
  spec.add_dependency 'faraday', '~> 0.11.0'
24
+ spec.add_dependency 'faraday_middleware', '~> 0.12'
24
25
  spec.add_dependency 'activesupport', '>= 4.0.0'
25
26
  spec.add_dependency 'oj', '>= 2.16'
26
27
 
@@ -0,0 +1,38 @@
1
+ describe Moneta::Front::Service, vcr: true do
2
+ let(:params) { { demo_mode: true } }
3
+
4
+ let(:service) { described_class.new($cert, $cert_private_key, params) }
5
+
6
+ describe '#request' do
7
+ subject { service.request(path) }
8
+
9
+ context 'when success request' do
10
+ let(:path) { 'report/receipt.htm?operationId=467339&format=pdf' }
11
+
12
+ its(:status) { is_expected.to eq 200 }
13
+ end
14
+
15
+ context 'when bad request' do
16
+ let(:path) { 'report/receipt.htm' }
17
+ its(:status) { is_expected.to eq 400 }
18
+ end
19
+ end
20
+
21
+ describe '#get_receipt_pdf' do
22
+ subject { service.get_receipt_pdf(operation_id) }
23
+
24
+ context 'when success request' do
25
+ let(:operation_id) { 467339 }
26
+
27
+ it 'Must be a PDF' do
28
+ expect(subject[0, 4]).to eq('%PDF')
29
+ end
30
+ end
31
+
32
+ context 'when bad request' do
33
+ let(:operation_id) { 'report/receipt.htm' }
34
+
35
+ it { expect { subject }.to raise_error(Moneta::Front::HTTPException) }
36
+ end
37
+ end
38
+ end
data/spec/spec_helper.rb CHANGED
@@ -17,9 +17,15 @@ end
17
17
 
18
18
  config = YAML.load(File.read(File.join(Dir.pwd, 'spec/support/moneta.yml')))
19
19
 
20
+ cert_path = File.join(Dir.pwd, config['cert_path'])
21
+ cert_private_key_path = File.join(Dir.pwd, config['cert_private_key_path'])
22
+
20
23
  $username = config['username']
21
24
  $password = config['password']
22
25
 
26
+ $cert = OpenSSL::X509::Certificate.new(File.read(cert_path))
27
+ $cert_private_key = OpenSSL::PKey::RSA.new(File.read(cert_private_key_path), config['private_key_password'])
28
+
23
29
  class WebHelper
24
30
  def self.with_real_connection
25
31
  WebMock.allow_net_connect!
@@ -35,6 +41,7 @@ VCR.configure do |config|
35
41
  config.hook_into :webmock
36
42
  config.filter_sensitive_data('<USERNAME>') { $username }
37
43
  config.filter_sensitive_data('<PASSWORD>') { $password }
44
+ config.filter_sensitive_data('<CERT_PASSWORD>') { $cert_pass }
38
45
  config.ignore_hosts 'codeclimate.com'
39
46
  end
40
47
 
@@ -0,0 +1,29 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIE7zCCAtegAwIBAgICKKQwDQYJKoZIhvcNAQEFBQAwgaYxCzAJBgNVBAYTAlJV
3
+ MRAwDgYDVQQIDAdNYXJpIEVsMRQwEgYDVQQHDAtZb3Noa2FyLU9sYTEcMBoGA1UE
4
+ CgwTTkNPIE1PTkVUQS5SVSAoTExDKTERMA8GA1UECwwIVGVjaERlcHQxFzAVBgNV
5
+ BAMMDmRlbW8ubW9uZXRhLnJ1MSUwIwYJKoZIhvcNAQkBFhZ0ZWNoLnN1cHBvcnRA
6
+ bW9uZXRhLnJ1MB4XDTE3MTEwMzEwMjU0OFoXDTE4MTEwMzEwMjU0OFowVzELMAkG
7
+ A1UEBhMCUlUxEjAQBgNVBAgMCVRhdGFyc3RhbjEOMAwGA1UEBwwFS2F6YW4xFDAS
8
+ BgNVBAoMC1J1bnRpbWUgTExDMQ4wDAYDVQQDDAVEYW1pcjCCASIwDQYJKoZIhvcN
9
+ AQEBBQADggEPADCCAQoCggEBAL1q0kiaP6pr3f2jtH9CMCYWF+Oc9aMOQuzoU7P5
10
+ xETxePfBZu8h2smB8WsrHjlHbj/LI8XxH5kGYzomri7XrbC6osfTQR2Up9yuPvJw
11
+ 9rV1h0bEUQ2I7y1ns0d5kCFaIqOOpFp04eF16/xqjYFcZqF6triw2IBfcDRnRSnY
12
+ 5x9cR6lyeXhnjDNCcMHyzfXcnPUzUycEyaDVVKO/gNcFJInZcblyAobM2ja07Ji/
13
+ sOI5GB6RpEKKdRMBfSjGf9cDrm/33heeVGCiVUK9rxT9lv44e+FwhmMEApuPVc9m
14
+ xVJ6j8aBlb+Y0+zEdVEysUNAuu7+gUEMQgAGU7IH/mWVeSkCAwEAAaN1MHMwHwYD
15
+ VR0jBBgwFoAUEmi7gDDSEybKT6yoaTS7VAvOxqQwHQYDVR0OBBYEFNL2nqzYd5/5
16
+ TxLSNRBe5Jsym9KSMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMBMGA1Ud
17
+ JQQMMAoGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4ICAQApsU1xN+lA8iT2x9MP
18
+ Tn/W//de5tBOFAKUnefzQrpjkqf94vzQ0j2z06g2nwRNDuVeit9g/r5iZpHiJh1K
19
+ Joz2F4WPGZNeWAszDwiXfMDsCsQOuw2zq4WYa4rOOLMs+IgLR9tKhDspgbLl396U
20
+ 3MEHz5N9Lb5Pfiu/1klFE+SO/9q9HtyLn5lNkbyfxrzoKfyWpHwYZi8dofkHPNgI
21
+ qPOIjQwedPv5SUWdWghSdsjQ6NvptUnCWgJOQzaHVPJLq01wdRLhz/lL316b59YH
22
+ /VcGwmZcXwEwUVvIgDdE0ieNjHJwfp+OZJqRGszvHOh89fE8zvtSOysqvLvmSv3E
23
+ sHemrnQ18Fr3P7kOr4kfbsB9DMheaxPyp9yTQ7t+r3YOkJK8HxxNavAIchner/lU
24
+ sfWioutD1qzCI8Ex5JG6gWOltDEs6A7w2ro9zyAIjelpq8R3rnGd8c6LXbClqJdr
25
+ 1x3EU9DjAhWb8+JWNKlv9doR+EAUFHvjtojWfoWNcRxoVIAoio1qsDega0MibFVr
26
+ 9lWGMkGhsTIXOOk5KpmcTT3eLD5ZJNXLXRcYa0tj60QH9xTaTtJbfJJ3KhV8vPdO
27
+ 2sc+QRWbIjD5+MpJkSPFMMsHbHm2LO/FvrpcMExVOYZ+UXhvzfah1HiIZ2sr353f
28
+ HnFMtpar7U/YZvkoIL4fOpKWQA==
29
+ -----END CERTIFICATE-----
@@ -0,0 +1,28 @@
1
+ -----BEGIN PRIVATE KEY-----
2
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC9atJImj+qa939
3
+ o7R/QjAmFhfjnPWjDkLs6FOz+cRE8Xj3wWbvIdrJgfFrKx45R24/yyPF8R+ZBmM6
4
+ Jq4u162wuqLH00EdlKfcrj7ycPa1dYdGxFENiO8tZ7NHeZAhWiKjjqRadOHhdev8
5
+ ao2BXGahera4sNiAX3A0Z0Up2OcfXEepcnl4Z4wzQnDB8s313Jz1M1MnBMmg1VSj
6
+ v4DXBSSJ2XG5cgKGzNo2tOyYv7DiORgekaRCinUTAX0oxn/XA65v994XnlRgolVC
7
+ va8U/Zb+OHvhcIZjBAKbj1XPZsVSeo/GgZW/mNPsxHVRMrFDQLru/oFBDEIABlOy
8
+ B/5llXkpAgMBAAECggEAQYHU8ajuxbiCUHqyLKSuVC2l22DoDpkbCiWa9Q43E4TT
9
+ ShPHzoHN0Yyv+lkyHasXdNaDK6ylOd3cqTrBWI/ckNcq/qKPzXQgzZAxUtVAbScV
10
+ PqMcSOsHlJNdjCV9dBthCWGGc4YirD+E+om7IHbdQ5FV6e+3IEZhXq4sXDmYTN6b
11
+ i+I+TWiEAvnUrY1qm8+o3xqdvadnD2ixcNRlbAi6uzMUkhTqPy/g6POSzPtTKYF7
12
+ LQOssf6e1mxoLihevkBFVqwrshvXSanKkVu1q2QMlWaXHUzSCs0BtZQB3mRBu+XB
13
+ 2AC1afQai4Ubr7nT/XfBz52u+bh59Tmq+qGDXnm+gQKBgQDqNSPkBj8yb30aw1nj
14
+ 0vo987jNtaFeA+PdPwMCr952YjSgMzaOV9irSQjCHqTQS5JLoUGc32Tof1fWH8kc
15
+ pCgt7IKTGn1hdvQotPMHhve9vuFI/rQ6YIPF0+USUSmNwbKbwmSzK5SzqkdvwXD/
16
+ xfAO5qMlb4A6cAlQvXXHLl/L+QKBgQDPCsTz5fG2VSN7tDr2Hh1hJ4xhXSKIu8ri
17
+ cOzmbEwL8AeVhhR1wJQEXBM/FX/dIlcYDA9SyOkcnAeNRrjFlPn6/DqzrbJSWXRL
18
+ ziiMkew7Yld5rwRGl6w5uURpfB1APQMeefsNT5AZQtepTmjW08fjFHtoNFyD7FcN
19
+ dM71vS2CsQKBgQC2Bl0BoNVHJp0tyrw3M8bnlV+BCXQD9LQJRSra0MLucT8Dbyos
20
+ kRvFa/rRnC1t8f4ep5KuEHWFuUsUERomF3Ne1d1Z5RGjSWdTp+bmZ8BuCUdgiwyZ
21
+ /l8LxrbXeJr6IJvnMLtBAVMOG/5vXgGr2DPN8PTFaJZZVK/4v3clOeacSQKBgQC9
22
+ DcVoPKjpaHa9J4bLZBZJt7Ys1cGJ/4i0Go+HnI4YPHaAZ21ZVJ8UGAuPCA+4mfnT
23
+ QHfhjQmnkSYoL9LawD0/nH/xwALbxUk3Symlqj1+wD7GIzURTL/7+Ztpguam2M93
24
+ TcUbk3IuTuXkeG+s8rdMOFCzh1SPNgkLhYTRyYu8EQKBgQC117MNYc1JG5d3PkWC
25
+ Q3xAkXPS14sRKlP4cE8m2ZyCoT04mFAP6hydlGtbUz8sDhwMwbHZVkROqrhnkzsT
26
+ 7MXifPU7Z4+Z15LzhFC8j8EdfebFlDCpXbhHMIHfFnZMGpLEPbPyOncTXA4QvjHf
27
+ i63SHI1R9T/c8KXfFZhvIzfUVw==
28
+ -----END PRIVATE KEY-----
@@ -1,2 +1,6 @@
1
1
  username: 'username'
2
2
  password: 'password'
3
+
4
+ cert_path: 'spec/support/moneta-certificate.pem'
5
+ cert_private_key_path: 'spec/support/moneta-private.key'
6
+ private_key_password:
@@ -0,0 +1,295 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://demo.moneta.ru/x509/report/receipt.htm?format=pdf&operationId=report/receipt.htm
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.11.0
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 302
19
+ message: Found
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Tue, 07 Nov 2017 07:54:42 GMT
25
+ Content-Type:
26
+ - text/html
27
+ Content-Length:
28
+ - '0'
29
+ Connection:
30
+ - keep-alive
31
+ Keep-Alive:
32
+ - timeout=60
33
+ Strict-Transport-Security:
34
+ - max-age=31536000 ; includeSubDomains
35
+ Location:
36
+ - https://demo.moneta.ru:8443/x509/report/receipt.htm?format=pdf&operationId=report%2Freceipt.htm
37
+ X-Content-Type-Options:
38
+ - nosniff
39
+ X-Xss-Protection:
40
+ - 1; mode=block
41
+ Content-Security-Policy:
42
+ - 'default-src ''self'' *.moneta.ru *.moneta.com *.payanyway.ru *.payanyway.com
43
+ ; script-src ''self'' *.moneta.ru *.moneta.com *.payanyway.ru *.payanyway.com
44
+ https://*.google-analytics.com ''unsafe-inline'' ''unsafe-eval''; style-src
45
+ ''self'' *.moneta.ru *.moneta.com *.payanyway.ru *.payanyway.com ''unsafe-inline'';
46
+ img-src * data:; font-src ''self'' data: *.moneta.ru *.moneta.com *.payanyway.ru
47
+ *.payanyway.com https://fonts.gstatic.com https://sxt.cdn.skype.com ; report-uri
48
+ /cspreport.htm'
49
+ body:
50
+ encoding: UTF-8
51
+ string: ''
52
+ http_version:
53
+ recorded_at: Tue, 07 Nov 2017 07:54:42 GMT
54
+ - request:
55
+ method: get
56
+ uri: https://demo.moneta.ru:8443/x509/report/receipt.htm?format=pdf&operationId=report/receipt.htm
57
+ body:
58
+ encoding: US-ASCII
59
+ string: ''
60
+ headers:
61
+ User-Agent:
62
+ - Faraday v0.11.0
63
+ Accept-Encoding:
64
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
65
+ Accept:
66
+ - "*/*"
67
+ response:
68
+ status:
69
+ code: 500
70
+ message: Internal Server Error
71
+ headers:
72
+ Server:
73
+ - nginx
74
+ Date:
75
+ - Tue, 07 Nov 2017 07:54:42 GMT
76
+ Content-Type:
77
+ - text/html
78
+ Content-Length:
79
+ - '9057'
80
+ Connection:
81
+ - close
82
+ Etag:
83
+ - '"59fc51c3-2361"'
84
+ X-Content-Type-Options:
85
+ - nosniff
86
+ X-Xss-Protection:
87
+ - 1; mode=block
88
+ body:
89
+ encoding: ASCII-8BIT
90
+ string: !binary |-
91
+ PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAg
92
+ U3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQv
93
+ eGh0bWwxLXN0cmljdC5kdGQiPg0KPCEtLSAoYykgQXJ0LiBMZWJlZGV2IFN0
94
+ dWRpbyB8IGh0dHA6Ly93d3cuYXJ0bGViZWRldi5ydS8gLS0+DQo8aHRtbD4N
95
+ CiAgICA8aGVhZD4NCiAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVu
96
+ dC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPg0K
97
+ ICAgICAgICA8dGl0bGU+bW9uZXRhLnJ1PC90aXRsZT4NCiAgICAgICAgPG1l
98
+ dGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1F
99
+ bXVsYXRlSUU3LCBJRT05Ij4NCiAgICAgICAgPGxpbmsgcmVsPSJpY29uIiBo
100
+ cmVmPSIvZmF2aWNvbi5pY28iIHR5cGU9ImltYWdlL3gtaWNvbiI+DQogICAg
101
+ ICAgIDxzdHlsZT4uaGlkZGVuIHtkaXNwbGF5Om5vbmU7fTwvc3R5bGU+DQog
102
+ ICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3Mi
103
+ IGhyZWY9Ii9kL2Nzcy94Zm9ybXMuY3NzIj4NCiAgICAgICAgPGxpbmsgcmVs
104
+ PSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2QvY3NzL21v
105
+ bmV0YS5jc3MiPg0KICAgICAgICA8IS0tW2lmIGx0IElFIDldPjxsaW5rIHJl
106
+ bD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9kL2Nzcy9t
107
+ b25ldGEtaWUuY3NzIiAvPjwhW2VuZGlmXS0tPg0KICAgICAgICA8bGluayBy
108
+ ZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvZC9jc3Mv
109
+ bW9kaWZpZWQuY3NzIj4NCiAgICAgICAgPCEtLVtpZiBsdCBJRSA5XT48bGlu
110
+ ayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvZC9j
111
+ c3MvbW9kaWZpZWQtaWUuY3NzIiAvPjwhW2VuZGlmXS0tPg0KICAgICAgICA8
112
+ bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIv
113
+ ZC9jc3MvbS9qcXVlcnktdWkuc3RydWN0dXJlLm1pbi5jc3MiLz4NCiAgICAg
114
+ ICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJl
115
+ Zj0iL2QvY3NzL20vanF1ZXJ5LXVpLW1vZGlmaWVkLmNzcyIvPg0KICAgICAg
116
+ ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvZC9qcy9q
117
+ cXVlcnktMi4yLjQubWluLmpzIj48L3NjcmlwdD4NCiAgICAgICAgPCEtLTxz
118
+ Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9kL2pzL2pxdWVy
119
+ eS1taWdyYXRlLTMuMC4wLm1pbi5qcyI+PC9zY3JpcHQ+LS0+DQogICAgICAg
120
+ IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9kL2pzL2px
121
+ dWVyeS11aS5taW4uanMiPjwvc2NyaXB0Pg0KICAgICAgICA8c2NyaXB0IHR5
122
+ cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvZC9qcy9wYWNrYWdlLmpzIj48
123
+ L3NjcmlwdD4NCiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
124
+ cHQiIHNyYz0iL2QvanMvcm91bmRlZC1jb3JuZXJzLmpzIj48L3NjcmlwdD4N
125
+ CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
126
+ L2QvanMvbW9uZXRhLmpzIj48L3NjcmlwdD4NCiAgICAgICAgPHNjcmlwdCB0
127
+ eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL2QvanMvbWluaVBvcHVwQm94
128
+ LmpzIj48L3NjcmlwdD4NCiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
129
+ dmFzY3JpcHQiIHNyYz0iL2QvanMvbS9jb21tb24uanMiPjwvc2NyaXB0Pg0K
130
+ ICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIv
131
+ ZC9qcy9tL2Zvcm0uanMiPjwvc2NyaXB0Pg0KICAgICAgICA8c2NyaXB0IHR5
132
+ cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvZC9qcy9tL2FqYXguanMiPjwv
133
+ c2NyaXB0Pg0KICAgIDwvaGVhZD4NCiAgICA8Ym9keT4NCiAgICAgICAgPGRp
134
+ diBpZD0ib3V0ZXIiPg0KICAgICAgICAgICAgPGltZyBpZD0icGFnZS1sLWRl
135
+ Y29yIiBzcmM9Ii9kL2kvbGVmdC1kZWNvci5naWYiIGFsdD0iIiB3aWR0aD0i
136
+ NTUwIiBoZWlnaHQ9IjY4OSI+DQogICAgICAgICAgICA8ZGl2IGlkPSJoZWFk
137
+ ZXIiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1tZW51
138
+ Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGF5b3V0LXdp
139
+ ZHRoIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imxh
140
+ eW91dCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0i
141
+ c3lzdGVtLWxpbmtzIiBjbGFzcz0ibGVmdC1jb2x1bW4iPg0KICAgICAgICAg
142
+ ICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWR1Y2VyIj4N
143
+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlk
144
+ PSJsYW5ndWFnZXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
145
+ ICAgICAgICAgIDxhIGhyZWY9Ii9sb2NhbGUuaHRtP21vbmV0YS5sb2NhbGU9
146
+ cnUiPlJVPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
147
+ ICAgICAgIDxhIGhyZWY9Ii9sb2NhbGUuaHRtP21vbmV0YS5sb2NhbGU9ZW4i
148
+ PkVOPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
149
+ PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rp
150
+ dj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAg
151
+ ICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYWluLWNvbHVt
152
+ biI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFz
153
+ cz0ibmF2aWdhdGlvbiBzeXN0ZW0tbmF2aWdhdGlvbiI+DQogICAgICAgICAg
154
+ ICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9IiI+DQogICAg
155
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0i
156
+ L2luZm8vcHVibGljL2Fib3V0L2luZGV4Lmh0bSI+QWJvdXQ8L2E+DQogICAg
157
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAg
158
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSIiPg0K
159
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhy
160
+ ZWY9Ii9pbmZvL3B1YmxpYy91c2Vycy90YXJpZmZzLmh0bSI+Rm9yIHVzZXJz
161
+ PC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9s
162
+ aT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBj
163
+ bGFzcz0ibGFzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
164
+ ICAgICAgICAgPGEgaHJlZj0iL2luZm8vcHVibGljL21lcmNoYW50cy9pbmRl
165
+ eC5odG0iPkZvciBtZXJjaGFudHMgYW5kIEludGVybmV0IHByb2plY3RzPC9h
166
+ Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4N
167
+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAg
168
+ ICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAg
169
+ ICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyaWdodC1jb2x1bW4iPg0KICAg
170
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdmln
171
+ YXRpb24gc3lzdGVtLW5hdmlnYXRpb24iPg0KICAgICAgICAgICAgICAgICAg
172
+ ICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSIiPg0KICAgICAgICAgICAg
173
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9pbmZvL3B1
174
+ YmxpYy91c2Vycy90cmFuc2Zlci5odG0iPk1vbmV5IFRyYW5zZmVyPC9hPg0K
175
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAg
176
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0i
177
+ Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8
178
+ YSBocmVmPSIvZ29vZHMuaHRtIj5QYXltZW50PC9hPg0KICAgICAgICAgICAg
179
+ ICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAg
180
+ ICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAg
181
+ ICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8
182
+ ZGl2IGNsYXNzPSJjbGVhciI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAg
183
+ ICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAg
184
+ ICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFz
185
+ cz0ibGF5b3V0LXdpZHRoIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBj
186
+ bGFzcz0ibGF5b3V0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYg
187
+ aWQ9ImxvZ28iIGNsYXNzPSJsZWZ0LWNvbHVtbiI+DQogICAgICAgICAgICAg
188
+ ICAgICAgICAgICAgICAgPGEgaHJlZj0iLyI+DQogICAgICAgICAgICAgICAg
189
+ ICAgICAgICAgICAgICAgIDxpbWcgc3JjPSIvZC9pL21vbmV0YS1sb2dvLnBu
190
+ ZyIgYWx0PSJNT05FVEEuUlUiPg0KICAgICAgICAgICAgICAgICAgICAgICAg
191
+ ICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAg
192
+ ICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFpbi1jb2x1bW4i
193
+ Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InVzZXIt
194
+ bWVudSIgY2xhc3M9ImV4dGVuZGVkIj4NCiAgICAgICAgICAgICAgICAgICAg
195
+ ICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXZpZ2F0aW9uIj4NCiAgICAgICAg
196
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAg
197
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5zIGNsYXNzPSJwLWki
198
+ PjwvaW5zPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
199
+ ICAgIDxhIGhyZWY9Ii8iPkhvbWU8L2E+DQogICAgICAgICAgICAgICAgICAg
200
+ ICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAg
201
+ ICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICAgICAg
202
+ ICAgICAgICAgICAgICAgIDxpbnMgY2xhc3M9InAtaSI+PC9pbnM+DQogICAg
203
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0i
204
+ L2luZm8vcHVibGljL3VzZXJzL3RyYW5zZmVyLmh0bSI+TW9uZXkgVHJhbnNm
205
+ ZXI8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8
206
+ L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxp
207
+ Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxh
208
+ IGhyZWY9Ii9nb29kcy5odG0iPlBheW1lbnQ8L2E+DQogICAgICAgICAgICAg
209
+ ICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAg
210
+ ICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAg
211
+ ICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+
212
+ DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+
213
+ PC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAg
214
+ ICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAg
215
+ ICA8ZGl2IGlkPSJjb250ZW50IiBjbGFzcz0ibGF5b3V0LXdpZHRoIj4NCiAg
216
+ ICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYXlvdXQiPg0KICAgICAgICAg
217
+ ICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYWluLWNvbHVtbiB0ZXh0LWNvbHVt
218
+ biI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWR1
219
+ Y2VyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+U2Vydmlj
220
+ ZSBVbmF2YWlsYWJsZTwvaDE+DQogICAgICAgICAgICAgICAgICAgICAgICAg
221
+ ICAgPGJsb2NrcXVvdGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
222
+ ICAgIDxwPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWFy
223
+ IGN1c3RvbWVycyw8YnI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
224
+ ICAgIEF0IHRoZSBtb21lbnQgd2UgYXJlIHBlcmZvcm1pbmcgYW4gdXBncmFk
225
+ ZSBvZiB0aGUgc3lzdGVtLiBTb3JyeSBmb3IgYW55IGluY29udmVuaWVuY2ll
226
+ cyBhcmlzZWQuIFBsZWFzZSBsb2dpbiBhIGJpdCBsYXRlci4NCiAgICAgICAg
227
+ ICAgICAgICAgICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAg
228
+ ICAgICAgICAgICAgICAgICA8cD4NCiAgICAgICAgICAgICAgICAgICAgICAg
229
+ ICAgICAgICAg0KPQstCw0LbQsNC10LzRi9C1INC/0L7Qu9GM0LfQvtCy0LDR
230
+ gtC10LvQuCw8YnI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
231
+ INCSINC00LDQvdC90YvQuSDQvNC+0LzQtdC90YIg0L3QsCDRgdCw0LnRgtC1
232
+ INC/0YDQvtCy0L7QtNGP0YLRgdGPINC/0LvQsNC90L7QstGL0LUg0YLQtdGF
233
+ 0L3QuNGH0LXRgdC60LjQtSDRgNCw0LHQvtGC0YsuINCf0YDQuNC90L7RgdC4
234
+ 0Lwg0LjQt9Cy0LjQvdC10L3QuNGPINC4INC/0YDQvtGB0LjQvCDQt9Cw0LnR
235
+ gtC4INC90LAg0YHQsNC50YIg0YHQuNGB0YLQtdC80Ysg0L/QvtC30LTQvdC1
236
+ 0LUuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4NCiAg
237
+ ICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Jsb2NrcXVvdGU+DQogICAg
238
+ ICAgICAgICAgICAgICAgICAgICAgICAgPHAgYWxpZ249InJpZ2h0Ij4NCiAg
239
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PSJfYmxh
240
+ bmsiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2
241
+ L3JmYzI2MTYtc2VjMTAuaHRtbCI+cmZjMjYxNjwvYT4NCiAgICAgICAgICAg
242
+ ICAgICAgICAgICAgICAgICA8L3A+DQoNCiAgICAgICAgICAgICAgICAgICAg
243
+ ICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAg
244
+ ICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPjwvZGl2Pg0KICAg
245
+ ICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAg
246
+ ICAgICAgICA8ZGl2IGlkPSJmb290ZXIiPg0KICAgICAgICAgICAgICAgIDxk
247
+ aXYgY2xhc3M9ImxheW91dC13aWR0aCI+DQogICAgICAgICAgICAgICAgICAg
248
+ IDxkaXYgY2xhc3M9ImxheW91dCI+DQogICAgICAgICAgICAgICAgICAgICAg
249
+ ICA8ZGl2IGNsYXNzPSJsZWZ0LWNvbHVtbiI+DQogICAgICAgICAgICAgICAg
250
+ ICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVkdWNlciI+DQogICAgICAgICAg
251
+ ICAgICAgICAgICAgICAgICAgICAgIDxwPsKpIDIwMDXigJMyMDE3DQogICAg
252
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+DQogICAgICAg
253
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvIj5Nb25l
254
+ dGEucnU8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwv
255
+ cD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAg
256
+ ICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAg
257
+ ICAgICAgPGRpdiBjbGFzcz0icmlnaHQtY29sdW1uIj4NCiAgICAgICAgICAg
258
+ ICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWR1Y2VyIj4NCiAgICAg
259
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+U3VwcG9ydDwvcD4NCiAg
260
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+KzcgKDQ5NSkgNzQz
261
+ LTQ5LTg1PC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8
262
+ cD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhy
263
+ ZWY9Ii9zdXBwb3J0Lmh0bSI+QXNrIHF1ZXN0aW9uPC9hPg0KICAgICAgICAg
264
+ ICAgICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAg
265
+ ICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8
266
+ L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1h
267
+ aW4tY29sdW1uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2
268
+ IGNsYXNzPSJuYXZpZ2F0aW9uLXdyYXBwZXIiPg0KICAgICAgICAgICAgICAg
269
+ ICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdmlnYXRpb24iPg0KICAg
270
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSIi
271
+ Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxh
272
+ IGhyZWY9Ii9pbmZvL3B1YmxpYy9hYm91dC9pbmRleC5odG0iPkFib3V0PC9h
273
+ Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4N
274
+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFz
275
+ cz0iIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
276
+ ICA8YSBocmVmPSIvaW5mby9wdWJsaWMvdXNlcnMvdGFyaWZmcy5odG0iPkZv
277
+ ciB1c2VyczwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
278
+ ICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
279
+ ICA8bGkgY2xhc3M9IiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
280
+ ICAgICAgICAgICAgPGEgaHJlZj0iL2luZm8vcHVibGljL21lcmNoYW50cy9p
281
+ bmRleC5odG0iPkZvciBtZXJjaGFudHMgYW5kIEludGVybmV0IHByb2plY3Rz
282
+ PC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9s
283
+ aT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAg
284
+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucyBjbGFzcz0iZC1y
285
+ Ij48L2lucz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4N
286
+ CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAg
287
+ ICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAg
288
+ ICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBp
289
+ ZD0iY29uZmlybWF0aW9uLWRpYWxvZyIgY2xhc3M9InVpLWRpYWxvZyI+Jm5i
290
+ c3A7PC9kaXY+DQogICAgICAgIDxkaXYgaWQ9ImluZm9ybWF0aW9uLWRpYWxv
291
+ ZyIgY2xhc3M9InVpLWRpYWxvZyI+Jm5ic3A7PC9kaXY+DQogICAgPC9ib2R5
292
+ Pg0KPC9odG1sPg0K
293
+ http_version:
294
+ recorded_at: Tue, 07 Nov 2017 07:54:42 GMT
295
+ recorded_with: VCR 3.0.3