phaxio 2.0.1 → 2.1.0.pre

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.
Files changed (44) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +2 -1
  3. data/README.md +46 -13
  4. data/lib/phaxio.rb +2 -1
  5. data/lib/phaxio/client.rb +31 -10
  6. data/lib/phaxio/config.rb +1 -1
  7. data/lib/phaxio/resources/ata.rb +219 -0
  8. data/lib/phaxio/version.rb +1 -1
  9. data/phaxio.gemspec +1 -1
  10. data/spec/client_spec.rb +6 -6
  11. data/spec/resources/fax_spec.rb +40 -19
  12. data/spec/resources/phax_code_spec.rb +52 -24
  13. data/spec/support/vcr.rb +1 -2
  14. data/spec/support/vcr_cassettes/resources/account/status.yml +14 -13
  15. data/spec/support/vcr_cassettes/resources/fax/cancel.yml +16 -15
  16. data/spec/support/vcr_cassettes/resources/fax/create.yml +17 -197
  17. data/spec/support/vcr_cassettes/resources/fax/create_for_cancel.yml +50 -0
  18. data/spec/support/vcr_cassettes/resources/fax/create_for_delete.yml +50 -0
  19. data/spec/support/vcr_cassettes/resources/fax/create_for_delete_file.yml +50 -0
  20. data/spec/support/vcr_cassettes/resources/fax/create_for_download_file.yml +50 -0
  21. data/spec/support/vcr_cassettes/resources/fax/create_for_get.yml +50 -0
  22. data/spec/support/vcr_cassettes/resources/fax/create_for_reference.yml +50 -0
  23. data/spec/support/vcr_cassettes/resources/fax/create_for_resend.yml +50 -0
  24. data/spec/support/vcr_cassettes/resources/fax/delete.yml +11 -10
  25. data/spec/support/vcr_cassettes/resources/fax/delete_file.yml +11 -10
  26. data/spec/support/vcr_cassettes/resources/fax/file.yml +15 -216
  27. data/spec/support/vcr_cassettes/resources/fax/get.yml +14 -13
  28. data/spec/support/vcr_cassettes/resources/fax/list.yml +15 -20
  29. data/spec/support/vcr_cassettes/resources/fax/reference.yml +45 -0
  30. data/spec/support/vcr_cassettes/resources/fax/resend.yml +15 -14
  31. data/spec/support/vcr_cassettes/resources/fax/test_receive.yml +14 -194
  32. data/spec/support/vcr_cassettes/resources/phax_code/create.yml +12 -65
  33. data/spec/support/vcr_cassettes/resources/phax_code/create_png.yml +52 -0
  34. data/spec/support/vcr_cassettes/resources/phax_code/get.yml +13 -158
  35. data/spec/support/vcr_cassettes/resources/phax_code/get_id.yml +46 -0
  36. data/spec/support/vcr_cassettes/resources/phax_code/get_id_png.yml +50 -0
  37. data/spec/support/vcr_cassettes/resources/phax_code/get_png.yml +50 -0
  38. data/spec/support/vcr_cassettes/resources/phone_number/create.yml +16 -15
  39. data/spec/support/vcr_cassettes/resources/phone_number/get.yml +14 -13
  40. data/spec/support/vcr_cassettes/resources/phone_number/list.yml +24 -16
  41. data/spec/support/vcr_cassettes/resources/phone_number/release.yml +13 -12
  42. data/spec/support/vcr_cassettes/resources/public/area_codes/list.yml +23 -21
  43. data/spec/support/vcr_cassettes/resources/public/country/list.yml +15 -14
  44. metadata +26 -8
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  RSpec.describe Fax do
4
4
  let(:test_file) { File.open test_file_path }
5
5
  let(:test_file_path) { File.expand_path(File.join('..', '..', 'support', 'files', 'test.pdf'), __FILE__) }
6
- let(:test_recipient_number) { ENV.fetch 'TEST_RECIPIENT_NUMBER' }
6
+ let(:test_recipient_number) { ENV.fetch('TEST_RECIPIENT_NUMBER', '+15558675309') }
7
7
 
8
8
  describe 'creating a fax' do
9
9
  let(:action) { Fax.create params }
@@ -29,7 +29,11 @@ RSpec.describe Fax do
29
29
 
30
30
  describe 'retrieving a fax' do
31
31
  let(:action) { Fax.get fax_id, params }
32
- let(:fax_id) { 1234 }
32
+ let!(:fax_id) {
33
+ VCR.use_cassette('resources/fax/create_for_get') do
34
+ Phaxio::Fax.create(to: test_recipient_number, file: test_file).id
35
+ end
36
+ }
33
37
  let(:params) { {} }
34
38
 
35
39
  around(:each) do |example|
@@ -50,17 +54,14 @@ RSpec.describe Fax do
50
54
  end
51
55
  end
52
56
 
53
- # TODO: Refactor this
54
- # This one's a little tricky, since it relies on having a fax to cancel.
55
57
  describe 'cancelling a fax' do
56
- let(:action) { Fax.cancel @fax_id, params }
58
+ let(:action) { Fax.cancel fax_id, params }
57
59
  let(:params) { {} }
58
-
59
- before do
60
- VCR.use_cassette('resources/fax/create') do
61
- @fax_id = Fax.create(to: test_recipient_number, file: test_file).id
60
+ let!(:fax_id) {
61
+ VCR.use_cassette('resources/fax/create_for_cancel') do
62
+ Phaxio::Fax.create(to: test_recipient_number, file: test_file).id
62
63
  end
63
- end
64
+ }
64
65
 
65
66
  around(:each) do |example|
66
67
  VCR.use_cassette('resources/fax/cancel') do
@@ -69,14 +70,14 @@ RSpec.describe Fax do
69
70
  end
70
71
 
71
72
  it 'makes the request to Phaxio' do
72
- expect_api_request :post, "faxes/#{@fax_id}/cancel", params
73
+ expect_api_request :post, "faxes/#{fax_id}/cancel", params
73
74
  action
74
75
  end
75
76
 
76
77
  it 'returns a reference to the fax' do
77
78
  result = action
78
79
  expect(result).to be_a(Fax::Reference)
79
- expect(result.id).to eq(@fax_id)
80
+ expect(result.id).to eq(fax_id)
80
81
  end
81
82
  end
82
83
 
@@ -104,7 +105,11 @@ RSpec.describe Fax do
104
105
 
105
106
  describe 'resending a fax' do
106
107
  let(:action) { Fax.resend fax_id, params }
107
- let(:fax_id) { 1234 }
108
+ let!(:fax_id) {
109
+ VCR.use_cassette('resources/fax/create_for_resend') do
110
+ Phaxio::Fax.create(to: test_recipient_number, file: test_file).id
111
+ end
112
+ }
108
113
  let(:params) { {} }
109
114
 
110
115
  around do |example|
@@ -127,7 +132,11 @@ RSpec.describe Fax do
127
132
 
128
133
  describe 'deleting a fax' do
129
134
  let(:action) { Fax.delete fax_id, params }
130
- let(:fax_id) { 1234 }
135
+ let!(:fax_id) {
136
+ VCR.use_cassette('resources/fax/create_for_delete') do
137
+ Phaxio::Fax.create(to: test_recipient_number, file: test_file).id
138
+ end
139
+ }
131
140
  let(:params) { {} }
132
141
 
133
142
  around do |example|
@@ -149,7 +158,11 @@ RSpec.describe Fax do
149
158
 
150
159
  describe 'deleting a fax file' do
151
160
  let(:action) { Fax.delete_file fax_id, params }
152
- let(:fax_id) { 1234 }
161
+ let!(:fax_id) {
162
+ VCR.use_cassette('resources/fax/create_for_delete_file') do
163
+ Phaxio::Fax.create(to: test_recipient_number, file: test_file).id
164
+ end
165
+ }
153
166
  let(:params) { {} }
154
167
 
155
168
  around do |example|
@@ -171,7 +184,11 @@ RSpec.describe Fax do
171
184
 
172
185
  describe 'downloading a fax file' do
173
186
  let(:action) { Fax.file fax_id, params }
174
- let(:fax_id) { 1234 }
187
+ let!(:fax_id) {
188
+ VCR.use_cassette('resources/fax/create_for_download_file') do
189
+ Phaxio::Fax.create(to: test_recipient_number, file: test_file).id
190
+ end
191
+ }
175
192
  let(:params) { {} }
176
193
 
177
194
  around do |example|
@@ -213,14 +230,18 @@ RSpec.describe Fax do
213
230
  end
214
231
 
215
232
  describe Fax::Reference do
216
- let(:fax_id) { 1234 }
233
+ let!(:fax_id) {
234
+ VCR.use_cassette('resources/fax/create_for_reference') do
235
+ Phaxio::Fax.create(to: test_recipient_number, file: test_file).id
236
+ end
237
+ }
217
238
 
218
239
  it 'gets the full fax' do
219
- VCR.use_cassette('resources/fax/get') do
240
+ VCR.use_cassette('resources/fax/reference') do
220
241
  reference = Fax::Reference.new fax_id
221
242
  result = reference.get
222
243
  expect(result).to be_a(Fax)
223
- expect(result.id).to eq(1234)
244
+ expect(result.id).to eq(fax_id)
224
245
  end
225
246
  end
226
247
  end
@@ -5,25 +5,33 @@ RSpec.describe PhaxCode do
5
5
  let(:action) { PhaxCode.create params }
6
6
  let(:params) { {metadata: 'This is a test PhaxCode'} }
7
7
 
8
- around do |example|
9
- VCR.use_cassette('resources/phax_code/create') do
10
- example.run
8
+ context 'default type' do
9
+ around do |example|
10
+ VCR.use_cassette('resources/phax_code/create') do
11
+ example.run
12
+ end
11
13
  end
12
- end
13
14
 
14
- it 'makes the request to phaxio' do
15
- expect_api_request :post, 'phax_codes', params
16
- action
17
- end
15
+ it 'makes the request to phaxio' do
16
+ expect_api_request :post, 'phax_codes', params
17
+ action
18
+ end
18
19
 
19
- it 'returns a PhaxCode instance by default' do
20
- result = action
21
- expect(result).to be_a(PhaxCode)
20
+ it 'returns a PhaxCode instance by default' do
21
+ result = action
22
+ expect(result).to be_a(PhaxCode)
23
+ end
22
24
  end
23
25
 
24
26
  context 'type is specified to be png' do
25
27
  let(:params) { {metadata: 'This is a test PhaxCode', type: 'png'} }
26
28
 
29
+ around do |example|
30
+ VCR.use_cassette('resources/phax_code/create_png') do
31
+ example.run
32
+ end
33
+ end
34
+
27
35
  it 'returns a png if type is specified to be png' do
28
36
  result = action
29
37
  expect(result).to be_a(File)
@@ -35,27 +43,35 @@ RSpec.describe PhaxCode do
35
43
  let(:action) { PhaxCode.get params }
36
44
  let(:params) { {} }
37
45
 
38
- around do |example|
39
- VCR.use_cassette('resources/phax_code/get') do
40
- example.run
46
+ context 'default' do
47
+ around do |example|
48
+ VCR.use_cassette('resources/phax_code/get') do
49
+ example.run
50
+ end
41
51
  end
42
- end
43
52
 
44
- it 'makes the request to Phaxio' do
45
- expect_api_request :get, 'phax_code', params
46
- action
47
- end
53
+ it 'makes the request to Phaxio' do
54
+ expect_api_request :get, 'phax_code', params
55
+ action
56
+ end
48
57
 
49
- context 'getting the default phax code with no type specified' do
50
- it 'returns a PhaxCode instance' do
51
- result = action
52
- expect(result).to be_a(PhaxCode)
58
+ context 'getting the default phax code with no type specified' do
59
+ it 'returns a PhaxCode instance' do
60
+ result = action
61
+ expect(result).to be_a(PhaxCode)
62
+ end
53
63
  end
54
64
  end
55
65
 
56
66
  context 'getting the default phax code with png type specified' do
57
67
  let(:params) { {type: 'png'} }
58
68
 
69
+ around do |example|
70
+ VCR.use_cassette('resources/phax_code/get_png') do
71
+ example.run
72
+ end
73
+ end
74
+
59
75
  it 'returns a file' do
60
76
  result = action
61
77
  expect(result).to be_a(File)
@@ -65,6 +81,12 @@ RSpec.describe PhaxCode do
65
81
  context 'getting a particular phax code with no type specified' do
66
82
  let(:params) { {identifier: '-Y3jxX'} }
67
83
 
84
+ around do |example|
85
+ VCR.use_cassette('resources/phax_code/get_id') do
86
+ example.run
87
+ end
88
+ end
89
+
68
90
  it 'returns a PhaxCode instance' do
69
91
  result = action
70
92
  expect(result).to be_a(PhaxCode)
@@ -74,10 +96,16 @@ RSpec.describe PhaxCode do
74
96
  context 'getting a particular phax code with png type specified' do
75
97
  let(:params) { {identifier: '-Y3jxX', type: 'png'} }
76
98
 
99
+ around do |example|
100
+ VCR.use_cassette('resources/phax_code/get_id_png') do
101
+ example.run
102
+ end
103
+ end
104
+
77
105
  it 'returns a file' do
78
106
  result = action
79
107
  expect(result).to be_a(File)
80
108
  end
81
109
  end
82
110
  end
83
- end
111
+ end
data/spec/support/vcr.rb CHANGED
@@ -1,5 +1,3 @@
1
- ENV['TEST_RECIPIENT_NUMBER'] ||= '+15558675309'
2
-
3
1
  VCR.configure do |config|
4
2
  config.cassette_library_dir = File.expand_path File.join('..', 'vcr_cassettes'), __FILE__
5
3
  config.hook_into :faraday
@@ -7,3 +5,4 @@ VCR.configure do |config|
7
5
  config.filter_sensitive_data('<API_SECRET>') { Phaxio.api_secret }
8
6
  config.filter_sensitive_data('+15558675309') { ENV['TEST_RECIPIENT_NUMBER'] }
9
7
  end
8
+
@@ -2,43 +2,44 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://api.phaxio.com/v2/account/status?api_key=<API_KEY>&api_secret=<API_SECRET>
5
+ uri: https://api.phaxio.com/v2.1/account/status
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
+ Authorization:
11
+ - Basic dGVzdC1hcGkta2V5OnRlc3QtYXBpLXNlY3JldA==
10
12
  User-Agent:
11
- - Faraday v0.13.1
13
+ - Faraday v1.3.0
12
14
  response:
13
15
  status:
14
16
  code: 200
15
- message:
17
+ message: OK
16
18
  headers:
17
19
  cache-control:
18
20
  - max-age=0, private, must-revalidate
19
21
  content-type:
20
22
  - application/json; charset=utf-8
21
23
  date:
22
- - Tue, 31 Oct 2017 03:07:02 GMT
24
+ - Wed, 24 Feb 2021 19:38:10 GMT
23
25
  etag:
24
- - W/"97e961f35ce919cc15be5de8e77175d7"
26
+ - W/"fdf78451cea62a6da8f7a06bb945480d"
25
27
  server:
26
28
  - nginx
27
29
  strict-transport-security:
28
30
  - max-age=15768000; preload
29
31
  x-request-id:
30
- - 87f6ebc0-8f82-4e7e-87c9-5d53d2e505cb
32
+ - a07420ca-8a4f-4a40-aeab-076a41813577
31
33
  x-robots-tag:
32
34
  - noindex, nofollow, nosnippet, noarchive
33
35
  x-runtime:
34
- - '0.036786'
36
+ - '0.022529'
35
37
  content-length:
36
- - '172'
38
+ - '171'
37
39
  connection:
38
- - Close
40
+ - keep-alive
39
41
  body:
40
42
  encoding: UTF-8
41
- string: '{"success":true,"message":"Account status retrieved successfully","data":{"balance":810,"faxes_today":{"sent":5,"received":5},"faxes_this_month":{"sent":13,"received":18}}}'
42
- http_version:
43
- recorded_at: Tue, 31 Oct 2017 03:07:02 GMT
44
- recorded_with: VCR 3.0.3
43
+ string: '{"success":true,"message":"Account status retrieved successfully","data":{"balance":8325,"faxes_today":{"sent":6,"received":8},"faxes_this_month":{"sent":6,"received":8}}}'
44
+ recorded_at: Wed, 24 Feb 2021 19:37:23 GMT
45
+ recorded_with: VCR 6.0.0
@@ -2,45 +2,46 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://api.phaxio.com/v2/faxes/55405187/cancel
5
+ uri: https://api.phaxio.com/v2.1/faxes/253964483/cancel
6
6
  body:
7
7
  encoding: UTF-8
8
- string: api_key=<API_KEY>&api_secret=<API_SECRET>
8
+ string: ''
9
9
  headers:
10
+ Authorization:
11
+ - Basic dGVzdC1hcGkta2V5OnRlc3QtYXBpLXNlY3JldA==
10
12
  User-Agent:
11
- - Faraday v0.13.1
13
+ - Faraday v1.3.0
12
14
  Content-Type:
13
15
  - application/x-www-form-urlencoded
14
16
  response:
15
17
  status:
16
18
  code: 200
17
- message:
19
+ message: OK
18
20
  headers:
19
21
  cache-control:
20
22
  - max-age=0, private, must-revalidate
21
23
  content-type:
22
24
  - application/json; charset=utf-8
23
25
  date:
24
- - Fri, 27 Oct 2017 19:41:31 GMT
26
+ - Wed, 24 Feb 2021 18:54:53 GMT
25
27
  etag:
26
- - W/"5f351f3a724adbfc0b22effe1c96a1ad"
28
+ - W/"99aa7cac517e112e0896adae6efb2a4f"
27
29
  server:
28
30
  - nginx
29
31
  strict-transport-security:
30
32
  - max-age=15768000; preload
31
33
  x-request-id:
32
- - 806f7432-f21b-459d-90fd-2a4c823e654a
34
+ - df874d52-449c-460b-8918-8acf889266e6
33
35
  x-robots-tag:
34
36
  - noindex, nofollow, nosnippet, noarchive
35
37
  x-runtime:
36
- - '0.026048'
37
- content-length:
38
- - '92'
38
+ - '0.021847'
39
+ transfer-encoding:
40
+ - chunked
39
41
  connection:
40
- - Close
42
+ - keep-alive
41
43
  body:
42
44
  encoding: UTF-8
43
- string: '{"success":true,"message":"Fax cancellation scheduled successfully.","data":{"id":55405187}}'
44
- http_version:
45
- recorded_at: Fri, 27 Oct 2017 19:41:31 GMT
46
- recorded_with: VCR 3.0.3
45
+ string: '{"success":true,"message":"Fax cancellation scheduled successfully.","data":{"id":253964483}}'
46
+ recorded_at: Wed, 24 Feb 2021 18:54:06 GMT
47
+ recorded_with: VCR 6.0.0
@@ -2,229 +2,49 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://api.phaxio.com/v2/faxes
5
+ uri: https://api.phaxio.com/v2.1/faxes
6
6
  body:
7
7
  encoding: ASCII-8BIT
8
8
  string: !binary |-
9
- LS0tLS0tLS0tLS0tLVJ1YnlNdWx0aXBhcnRQb3N0LTY5OTA3MTQxZjMyZTI4
10
- MjUxM2RkN2VhNWY5MmFhOWVlDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3Jt
11
- LWRhdGE7IG5hbWU9InRvIg0KDQorMTU1NTg2NzUzMDkNCi0tLS0tLS0tLS0t
12
- LS1SdWJ5TXVsdGlwYXJ0UG9zdC02OTkwNzE0MWYzMmUyODI1MTNkZDdlYTVm
13
- OTJhYTllZQ0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1l
14
- PSJmaWxlIjsgZmlsZW5hbWU9InRlc3QucGRmIg0KQ29udGVudC1MZW5ndGg6
15
- IDc0NzINCkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGRmOyBjaGFyc2V0
16
- PWJpbmFyeQ0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmluYXJ5DQoN
17
- CiVQREYtMS40CiXDpMO8w7bDnwoyIDAgb2JqCjw8L0xlbmd0aCAzIDAgUi9G
18
- aWx0ZXIvRmxhdGVEZWNvZGU+PgpzdHJlYW0KeJw9i7sKAjEQRfv5ilsLbmZi
19
- HrsQUoirYBcMWIidup2ysfD3TVRkijvnPrgTvGgG13Oi4QeNcqXjAvefyygT
20
- rTNZ1/Xw2tRBvkBtBbWeb6fAEnVgzasmJi6FA9s/6QYuShPfvL793+DDQzzn
21
- PY2ZEiXMUOPuYDE9oXIx2DyQ6A08gCPGCmVuZHN0cmVhbQplbmRvYmoKCjMg
22
- MCBvYmoKMTMyCmVuZG9iagoKNCAwIG9iago8PC9UeXBlL1hPYmplY3QKL1N1
23
- YnR5cGUvRm9ybQovQkJveFsgLTc5IDM5NSA2OTIgMzk1LjEgXQovR3JvdXA8
24
- PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0IvSyB0cnVlPj4KL0xlbmd0
25
- aCAyNQovRmlsdGVyL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nCtUMFAwBOKi
26
- dC6nEC7XEK5ALgApxgQECmVuZHN0cmVhbQplbmRvYmoKCjUgMCBvYmoKPDwv
27
- Q0EgMC41CiAgIC9jYSAwLjUKPj4KZW5kb2JqCgo3IDAgb2JqCjw8L0xlbmd0
28
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- +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
- whR+owTnzpxm28An15FvAnj9w+GhwYH+vlDvgXt7uvd3BTsDfl9He5u3teWe
42
- 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
- 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
- 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
- hemMP+LDeEtqVYfQEVc5HbCkUiOpRkqsFuaXSHULkQim2r93iQFlIU0rslZ/
46
- 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
- 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
- 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
- 5v2IMITC6LW88a1TJjHwzLCojUyTvbnJBvq7xZK+g2GRsQb46ShK8NMqWBpN
50
- Ft3wpk3o89SAQCAciKnFQid+atkLh5ARF/vCWZ6HQ6ZL4HXbh0UmQjUrmxrD
51
- ENUsbmq23CMCrmb3QDgjyqxdMcGPGJ+KiouHsJ8epEshaMWij00WIVOs45vc
52
- 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
- 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
- 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
- +6ixsQP7qtKfCccmRXPEFMOdNsmHTRbRO4wLPCyE48O00RChmlVMZ5EyikzH
56
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- diWTr+HIuobr5ca549wZ7jL3HrfBKW9w5Az3IneFY+c5ouHMqGevoOo6x4oc
68
- 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
- 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
- jlml8TaLlfOS/2Gs94qU6gxHblWclWLB4xiYzkdWy3k5xvu0mSNY9nt0GiLH
71
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- jT60Vme3jyIAdpz1Q9p3x0bX6igUu2rtRF/E5LWwnrpyxoDzpmjsrhR2ojDH
79
- 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
- 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
- q9gPVJ+qmN9XERXXqdbb9Uy3/qD+Bf2nehnl9ulf1v+d/gO9Qqv3Nt0T1Jtl
82
- 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
- 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
- 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
85
- X/NW7K/L1DGPGZ4xMHuN+42PGDNGmdxj8Fg9bPP2nu2PbX9mu4xZ3vhX77b8
86
- wmB5aX5B0OrVGoJWa0kAGvgG0kCnVVtuCfY2jDdcbGCdgTK1uqzEKbeFLLsr
87
- fZVMZaVFqw3Jd6t96j9Xs7yaqNVyI7TifhrVrtFBu1bc1ETcHrd2bdT+kPbH
88
- ax63HTvCPgp0j2xOv6res62ceOr21O92KbJYGLcZcKMQ3DUGfbmC+X7V4Ikx
89
- 98EDewudu8yH2kfjNt/9B+/32VwDKb/vi81u2/YRT9+QzR9+IOy3EWVrortG
90
- rdHKf/pkWXXfUF2bY0d5ZfNIhzfmE0oK3pjZVhryufbVlPM13gdovwQ3rrEP
91
- sa+DDfbAc17L4Upi2mbfxhQZW4xMMa/WBHcUO4uZgmJSqCNERtjljVXvjnxd
92
- kLBEWaba06loXGwk443E20iQ2NWpr6LAmVVFwaqqXj3RV1butIfKymCPp0+l
93
- MSpC+YadIaB7CP9wC+ma3AiTm+Ap5LYjULiJtO/izqJnh53iRG9kc/dUFbG5
94
- lpG1EgSMyZ4s9S2kJK+INegRxgbytnc25Dy6vl6i8QTH9/pGG0vL93QNjdee
95
- LrI02moPWXc2tp36lyf33ddYdsY3Uce+Xrp3ovvmCc45pqkWSm3dU80tB1uq
96
- jEoi+7LNX1e23XD0jSLDermMKXGFWkRzKT2PsM+csieAg/u9TUyjUheUKchF
97
- E1kxkVZTr4lRFXWyIX1Ez+j1ecBqWZ5llaysIJTvzS8K5uepNQZdHxjpOdLq
98
- edO+VkfPEI/UMXWjo8ldtaN2+c7Kep1Q30qwYw2CTm+kMzMUseRAZPzRx+Ot
99
- P/jBvlprl1mza1+7PjnFfNlZ9c47gzePt7WrFG0qvUaV/T0P4doGcD+YcXXT
100
- Xucf6MlXS4i65FQJYzRVmpj8Uq60pvT5UpmyMmhWq80OcJCWRccFxw0H66C7
101
- u2N/kI7ebTZX0EqCJ43ECCGrVcGHOK2iT2eUVhFXDw/BUXoEPoSb/M067Hfp
102
- 5KcLhw2MDd3C0NqzK7eH7vUdhOARaLDgChKZoTU5Wt7e3rJ9W9uBsPPo12KO
103
- Ny93P3moaf25xr56jjyrswfJD4u7npq6R65UKRo1JmOh9/e+dezjD6vH/nSh
104
- n5x33/doT8+j97mzvxVPb7xPjsE7eP5VeTk4ByoCKq3qhorNDUqV5gV5CeQO
105
- 7iSWar3rICLHSngnt93Bl5Twju2cky95gHNYSkosDo4yqATp3RrRfdD510/M
106
- jGuaPwJz9r3OldM7v3Tr1cTG+/jUQ992KHEtshf65VnW/XD/lhG56w2IirkG
107
- Ptn7YKUv/5gmsLM7YJC6s6chiLwexxAD0tsRB+kh/85EmE+YT9ivsD+THZKd
108
- y0VUQUMuJ4ObzU3fDcnUiiZ8sqPSMnLfVt7IVg0ELSM5msEnwPkczYIJHs7R
109
- MrR5NkfLoQi+nqMVoAExR+fBI3A5RytBT5pydD4UkXtztBprOLj1htJFNuMX
110
- whz5ixxdBC2MHrMTGX1nucL052gCPFucoxkoYutyNAt7WG+OlqHNQo6WQxl7
111
- LkcroJy9lKPz4BfsWzlaCdWy7+TofCiTXcvRamiUK3N0ATwg34xfCD+Wn8/R
112
- RfCY4pGOufljycTUdJqvnqjh62prG/j+eIwPRtMOvmt2wsW3HTnCSwYpPhlP
113
- xZML8ZiL7+lq9/e3DXb1HuATKT7Kp5PRWHwmmjzMz03e6d+TOBRPRtOJuVl+
114
- IJ5MTPbHp44eiSbbUhPx2Vg8yTv5uy3u5u+LJ1OU2eWqbXDtvqW92/g3FILV
115
- TyVS6XgShYlZfsg14OJD0XR8Ns1HZ2P84JZj7+RkYiIuCSfiyXQUjefS01jq
116
- g0eTiVQsMUGzpVxbM+iYS87P5UpKxxfi/L3RdDqempudTqfn97rdDz/8sCua
117
- M55AW9fE3Iz71+nSx+bjsXgqMTWLM3dNp2eO9GBBsyks/KiUEau5HbXA3Cwu
118
- zpGsjYNPxeM8DZ/C+JPxGJY2n5x7MD6Rds0lp9wPJw4n3Nl4idkp960wNEou
119
- z+/mDR0wh3vwGCQhAVMwDWng8Ql4AmpwrINa/GtAqh/iEMMxCFG0cCDVBbNo
120
- 5UKKvik9guOtCCmJi+MYx3FB8qWWPejVDn6M1gaDSPfCAZQmJPsoftNoHUXb
121
- OMzgmITDKJuDyV+bvwf9D0l5qCaB9rOoHZAkCfSlnlNwFCukEdsw1wRKZqUs
122
- SbR0SnX9+hi/SX+fRKW2NLuwLoqbC3Z/pu9vivy7IZLFfkqKkpZiZy0TUuwh
123
- tBiQrEKSJ8UiLWWblawGPyNjL2acRH+K3C3LCSl2Gvls5Dmkp3OoPoiIJ6UK
124
- YpLf5txSmPlX14D2YBK7cO4ulGh1C1LOeyV5WuopqpuWuHnYi786bvzdoH8u
125
- tLkz8kQurkuiZtDyt/VL4w6Zl3CMS+s8hbbZNXdJMWewv3pyCM1KfU8ROnrb
126
- HLPYfF6vBaQxu3OO3BGHriwdqe9m9alc/ZNSnixq83ifQ9zjEtouSTolzTGB
127
- a5hA6vb66IpN5WR3V7NZy53z+b/MzeaedCwQg8+4lvIj3yZ5+IvdKt0vE5l3
128
- mKzeJFduEv4mOf4pCX1KFj88+yHz8xs15os3Lt9geq+PX794na29TjTXiRLW
129
- tGuhtcja/NqFNYVKc40UwAdE9/5qo/k9z9WhH3veHYKrpDl0dfGqeJWlT6oj
130
- V5XqwFXCDr3LGs3aFX6ldmV+ZXHlrZXVlRsrysVvn/028/evuc2a18yvMeZX
131
- el85/gobeYloXjK/xIReiLzAnD1PNOfN593n2T9+3mV+vrPc/Ny5KvPquRvn
132
- GBq+/lyhLjD+R+T4s2eeZeafWnzq7FPs4omzJ5iLC5cXmFSoxjw3azfPdtrM
133
- nKd0KM/DDinYDekfZN8ha3UgMu41j6PRwZFa80hnjbnEUzwkx2JlaKhhzWwr
134
- 28vOsWfYy2yesj9Ubu7D72roRojR9Jp73b3S/17RbgsG2j+/f3E/2xWoMQc7
135
- G82aTnOnu/NK53ud1zsV453kRfwELgYuB1hvoMYd8AbKLYGyoGnI6DEMaT2a
136
- IYbAEPHAkFuzoWE0mnHNcQ2rgVZgFo1ETpbJ2aXBAbu9ezlvo79bVIYOiuSk
137
- aB2gd2/fiKg4KcLQyMHwEiFfGj5x+jS07+gW6wbCYmTHcLcYQ8JLiUUktDuW
138
- jNA+nEql7fQidjuSR/EO9qMoGktlhWDfVIM9RVIpSKWIneokEiWQslMxlVAf
139
- gp5jKaA3qrVLVpRKpUrH/ge210j+CmVuZHN0cmVhbQplbmRvYmoKCjggMCBv
140
- YmoKNDk2NwplbmRvYmoKCjkgMCBvYmoKPDwvVHlwZS9Gb250RGVzY3JpcHRv
141
- ci9Gb250TmFtZS9CQUFBQUErTGliZXJhdGlvblNlcmlmCi9GbGFncyA0Ci9G
142
- b250QkJveFstMTc2IC0zMDMgMTAwNSA5ODFdL0l0YWxpY0FuZ2xlIDAKL0Fz
143
- Y2VudCA4OTEKL0Rlc2NlbnQgLTIxNgovQ2FwSGVpZ2h0IDk4MQovU3RlbVYg
144
- ODAKL0ZvbnRGaWxlMiA3IDAgUgo+PgplbmRvYmoKCjEwIDAgb2JqCjw8L0xl
145
- bmd0aCAyNjUvRmlsdGVyL0ZsYXRlRGVjb2RlPj4Kc3RyZWFtCnicXZDLbsQg
146
- DEX3fAXL6WIEyTwjRZGqaUfKog817QcQcFKkBhAhi/x9wUxbqQvQMb7X2GaX
147
- 9qE1OrBXb2UHgQ7aKA+zXbwE2sOoDSlKqrQMtwhvOQlHWPR26xxgas1g65qw
148
- t5ibg1/p5l7ZHu4Ie/EKvDYj3Xxcuhh3i3NfMIEJlJOmoQqGWOdJuGcxAUPX
149
- tlUxrcO6jZY/wfvqgJYYF7kVaRXMTkjwwoxAas4bWl+vDQGj/uWq7OgH+Sl8
150
- VBZRyflh30QukY/nxLvMVeI98mmX+IBc8sTHrCkSn7IG65zz+yFxlfWP2Mvt
151
- 19RVWtvPtFQu3sdJcbc4YhpOG/hdv7MuufB8A53Cf/0KZW5kc3RyZWFtCmVu
152
- ZG9iagoKMTEgMCBvYmoKPDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1ZVR5cGUv
153
- QmFzZUZvbnQvQkFBQUFBK0xpYmVyYXRpb25TZXJpZgovRmlyc3RDaGFyIDAK
154
- L0xhc3RDaGFyIDkKL1dpZHRoc1szNjUgNjEwIDUwMCAyNzcgMzg5IDI1MCA0
155
- NDMgMjc3IDQ0MyAyNTAgXQovRm9udERlc2NyaXB0b3IgOSAwIFIKL1RvVW5p
156
- Y29kZSAxMCAwIFIKPj4KZW5kb2JqCgoxMiAwIG9iago8PC9GMSAxMSAwIFIK
157
- Pj4KZW5kb2JqCgoxMyAwIG9iago8PC9Gb250IDEyIDAgUgovWE9iamVjdDw8
158
- L1RyNCA0IDAgUj4+Ci9FeHRHU3RhdGU8PC9FR1M1IDUgMCBSPj4KL1Byb2NT
159
- ZXRbL1BERi9UZXh0L0ltYWdlQy9JbWFnZUkvSW1hZ2VCXQo+PgplbmRvYmoK
160
- CjEgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCA2IDAgUi9SZXNvdXJjZXMg
161
- MTMgMCBSL01lZGlhQm94WzAgMCA2MTIgNzkyXS9Hcm91cDw8L1MvVHJhbnNw
162
- YXJlbmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyAyIDAgUj4+
163
- CmVuZG9iagoKNiAwIG9iago8PC9UeXBlL1BhZ2VzCi9SZXNvdXJjZXMgMTMg
164
- MCBSCi9NZWRpYUJveFsgMCAwIDYxMiA3OTIgXQovS2lkc1sgMSAwIFIgXQov
165
- Q291bnQgMT4+CmVuZG9iagoKMTQgMCBvYmoKPDwvVHlwZS9DYXRhbG9nL1Bh
166
- Z2VzIDYgMCBSCi9PcGVuQWN0aW9uWzEgMCBSIC9YWVogbnVsbCBudWxsIDBd
167
- Ci9MYW5nKGVuLVVTKQo+PgplbmRvYmoKCjE1IDAgb2JqCjw8L0NyZWF0b3I8
168
- RkVGRjAwNTcwMDcyMDA2OTAwNzQwMDY1MDA3Mj4KL1Byb2R1Y2VyPEZFRkYw
169
- MDRDMDA2OTAwNjIwMDcyMDA2NTAwNEYwMDY2MDA2NjAwNjkwMDYzMDA2NTAw
170
- MjAwMDM0MDAyRTAwMzQ+Ci9DcmVhdGlvbkRhdGUoRDoyMDE1MTAwNzE3MjM1
171
- Ni0wNCcwMCcpPj4KZW5kb2JqCgp4cmVmCjAgMTYKMDAwMDAwMDAwMCA2NTUz
172
- NSBmIAowMDAwMDA2NDM1IDAwMDAwIG4gCjAwMDAwMDAwMTkgMDAwMDAgbiAK
173
- MDAwMDAwMDIyMiAwMDAwMCBuIAowMDAwMDAwMjQyIDAwMDAwIG4gCjAwMDAw
174
- MDA0MzggMDAwMDAgbiAKMDAwMDAwNjU3OCAwMDAwMCBuIAowMDAwMDAwNDc4
175
- IDAwMDAwIG4gCjAwMDAwMDU1MjkgMDAwMDAgbiAKMDAwMDAwNTU1MCAwMDAw
176
- MCBuIAowMDAwMDA1NzQ1IDAwMDAwIG4gCjAwMDAwMDYwODAgMDAwMDAgbiAK
177
- MDAwMDAwNjI3NyAwMDAwMCBuIAowMDAwMDA2MzEwIDAwMDAwIG4gCjAwMDAw
178
- MDY2NzcgMDAwMDAgbiAKMDAwMDAwNjc3NCAwMDAwMCBuIAp0cmFpbGVyCjw8
179
- L1NpemUgMTYvUm9vdCAxNCAwIFIKL0luZm8gMTUgMCBSCi9JRCBbIDw4RTM2
180
- MTE0MzlDMTgyQTE5NzJFRUY5NjBFMjg3N0MzMz4KPDhFMzYxMTQzOUMxODJB
181
- MTk3MkVFRjk2MEUyODc3QzMzPiBdCi9Eb2NDaGVja3N1bSAvNkI5OEY3RjY3
182
- MEUwMzBBNEFGNEM0QUYxM0U3NEU1NDMKPj4Kc3RhcnR4cmVmCjY5NDkKJSVF
183
- T0YKDQotLS0tLS0tLS0tLS0tUnVieU11bHRpcGFydFBvc3QtNjk5MDcxNDFm
184
- MzJlMjgyNTEzZGQ3ZWE1ZjkyYWE5ZWUNCkNvbnRlbnQtRGlzcG9zaXRpb246
185
- IGZvcm0tZGF0YTsgbmFtZT0iYXBpX2tleSINCg0KPEFQSV9LRVk+DQotLS0t
186
- LS0tLS0tLS0tUnVieU11bHRpcGFydFBvc3QtNjk5MDcxNDFmMzJlMjgyNTEz
187
- ZGQ3ZWE1ZjkyYWE5ZWUNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0
188
- YTsgbmFtZT0iYXBpX3NlY3JldCINCg0KPEFQSV9TRUNSRVQ+DQotLS0tLS0t
189
- LS0tLS0tUnVieU11bHRpcGFydFBvc3QtNjk5MDcxNDFmMzJlMjgyNTEzZGQ3
190
- ZWE1ZjkyYWE5ZWUtLQ0KDQo=
9
+ LS0tLS0tLS0tLS0tLVJ1YnlNdWx0aXBhcnRQb3N0LWIyMDE3YmMwNjJmMDA2OTdjM2EzZTJjNjM1ODI0ODhjDQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InRvIg0KDQorMTU1NTEyMzEyMzQNCi0tLS0tLS0tLS0tLS1SdWJ5TXVsdGlwYXJ0UG9zdC1iMjAxN2JjMDYyZjAwNjk3YzNhM2UyYzYzNTgyNDg4Yw0KQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJmaWxlIjsgZmlsZW5hbWU9InRlc3QucGRmIg0KQ29udGVudC1MZW5ndGg6IDc0NzINCkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGRmDQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiaW5hcnkNCg0KJVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0ZpbHRlci9GbGF0ZURlY29kZT4+CnN0cmVhbQp4nD2LuwoCMRBF+/mKWwtuZmIeuxBSiKtgFwxYiJ26nbKx8PdNVGSKO+c+uBO8aAbXc6LhB41ypeMC95/LKBOtM1nX9fDa1EG+QG0FtZ5vp8ASdWDNqyYmLoUD2z/pBi5KE9+8vv3f4MNDPOc9jZkSJcxQ4+5gMT2hcjHYPJDoDTyAI8YKZW5kc3RyZWFtCmVuZG9iagoKMyAwIG9iagoxMzIKZW5kb2JqCgo0IDAgb2JqCjw8L1R5cGUvWE9iamVjdAovU3VidHlwZS9Gb3JtCi9CQm94WyAtNzkgMzk1IDY5MiAzOTUuMSBdCi9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQi9LIHRydWU+PgovTGVuZ3RoIDI1Ci9GaWx0ZXIvRmxhdGVEZWNvZGUKPj4Kc3RyZWFtCnicK1QwUDAE4qJ0LqcQLtcQrkAuACnGBAQKZW5kc3RyZWFtCmVuZG9iagoKNSAwIG9iago8PC9DQSAwLjUKICAgL2NhIDAuNQo+PgplbmRvYmoKCjcgMCBvYmoKPDwvTGVuZ3RoIDggMCBSL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGgxIDgxMzY+PgpzdHJlYW0KeJzlWHtQW9eZ/869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uRVpFcxOSPDCjEBqzhtaX68NAaP+5ars6Af5KXxUFlHJ+WHfRC6Rj+fEu8xV4j3yaZf4gFzyxMesKRKfsgbrnPP7IXGV9Y/Yy+3X1FVa28+0VC7ex0lxtzhiGk4b+F2/sy658HwDncJ//QplbmRzdHJlYW0KZW5kb2JqCgoxMSAwIG9iago8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9CYXNlRm9udC9CQUFBQUErTGliZXJhdGlvblNlcmlmCi9GaXJzdENoYXIgMAovTGFzdENoYXIgOQovV2lkdGhzWzM2NSA2MTAgNTAwIDI3NyAzODkgMjUwIDQ0MyAyNzcgNDQzIDI1MCBdCi9Gb250RGVzY3JpcHRvciA5IDAgUgovVG9Vbmljb2RlIDEwIDAgUgo+PgplbmRvYmoKCjEyIDAgb2JqCjw8L0YxIDExIDAgUgo+PgplbmRvYmoKCjEzIDAgb2JqCjw8L0ZvbnQgMTIgMCBSCi9YT2JqZWN0PDwvVHI0IDQgMCBSPj4KL0V4dEdTdGF0ZTw8L0VHUzUgNSAwIFI+PgovUHJvY1NldFsvUERGL1RleHQvSW1hZ2VDL0ltYWdlSS9JbWFnZUJdCj4+CmVuZG9iagoKMSAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDYgMCBSL1Jlc291cmNlcyAxMyAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdL0dyb3VwPDwvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+L0NvbnRlbnRzIDIgMCBSPj4KZW5kb2JqCgo2IDAgb2JqCjw8L1R5cGUvUGFnZXMKL1Jlc291cmNlcyAxMyAwIFIKL01lZGlhQm94WyAwIDAgNjEyIDc5MiBdCi9LaWRzWyAxIDAgUiBdCi9Db3VudCAxPj4KZW5kb2JqCgoxNCAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgNiAwIFIKL09wZW5BY3Rpb25bMSAwIFIgL1hZWiBudWxsIG51bGwgMF0KL0xhbmcoZW4tVVMpCj4+CmVuZG9iagoKMTUgMCBvYmoKPDwvQ3JlYXRvcjxGRUZGMDA1NzAwNzIwMDY5MDA3NDAwNjUwMDcyPgovUHJvZHVjZXI8RkVGRjAwNEMwMDY5MDA2MjAwNzIwMDY1MDA0RjAwNjYwMDY2MDA2OTAwNjMwMDY1MDAyMDAwMzQwMDJFMDAzND4KL0NyZWF0aW9uRGF0ZShEOjIwMTUxMDA3MTcyMzU2LTA0JzAwJyk+PgplbmRvYmoKCnhyZWYKMCAxNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDY0MzUgMDAwMDAgbiAKMDAwMDAwMDAxOSAwMDAwMCBuIAowMDAwMDAwMjIyIDAwMDAwIG4gCjAwMDAwMDAyNDIgMDAwMDAgbiAKMDAwMDAwMDQzOCAwMDAwMCBuIAowMDAwMDA2NTc4IDAwMDAwIG4gCjAwMDAwMDA0NzggMDAwMDAgbiAKMDAwMDAwNTUyOSAwMDAwMCBuIAowMDAwMDA1NTUwIDAwMDAwIG4gCjAwMDAwMDU3NDUgMDAwMDAgbiAKMDAwMDAwNjA4MCAwMDAwMCBuIAowMDAwMDA2Mjc3IDAwMDAwIG4gCjAwMDAwMDYzMTAgMDAwMDAgbiAKMDAwMDAwNjY3NyAwMDAwMCBuIAowMDAwMDA2Nzc0IDAwMDAwIG4gCnRyYWlsZXIKPDwvU2l6ZSAxNi9Sb290IDE0IDAgUgovSW5mbyAxNSAwIFIKL0lEIFsgPDhFMzYxMTQzOUMxODJBMTk3MkVFRjk2MEUyODc3QzMzPgo8OEUzNjExNDM5QzE4MkExOTcyRUVGOTYwRTI4NzdDMzM+IF0KL0RvY0NoZWNrc3VtIC82Qjk4RjdGNjcwRTAzMEE0QUY0QzRBRjEzRTc0RTU0Mwo+PgpzdGFydHhyZWYKNjk0OQolJUVPRgoNCi0tLS0tLS0tLS0tLS1SdWJ5TXVsdGlwYXJ0UG9zdC1iMjAxN2JjMDYyZjAwNjk3YzNhM2UyYzYzNTgyNDg4Yy0tDQo=
191
10
  headers:
11
+ Authorization:
12
+ - Basic dGVzdC1hcGkta2V5OnRlc3QtYXBpLXNlY3JldA==
192
13
  User-Agent:
193
- - Faraday v0.13.1
14
+ - Faraday v1.3.0
194
15
  Content-Type:
195
- - multipart/form-data; boundary=-----------RubyMultipartPost-69907141f32e282513dd7ea5f92aa9ee
16
+ - multipart/form-data; boundary=-----------RubyMultipartPost-b2017bc062f00697c3a3e2c63582488c
196
17
  Content-Length:
197
- - '8221'
18
+ - '7886'
198
19
  response:
199
20
  status:
200
21
  code: 200
201
- message:
22
+ message: OK
202
23
  headers:
203
24
  cache-control:
204
25
  - max-age=0, private, must-revalidate
205
26
  content-type:
206
27
  - application/json; charset=utf-8
207
28
  date:
208
- - Fri, 27 Oct 2017 19:41:11 GMT
29
+ - Wed, 24 Feb 2021 18:51:00 GMT
209
30
  etag:
210
- - W/"ac443c2e0e631b7b9c8fdbe6f31f2b29"
31
+ - W/"8ea59df01634dfc7aaeeed33ae41c4dc"
211
32
  server:
212
33
  - nginx
213
34
  strict-transport-security:
214
35
  - max-age=15768000; preload
215
36
  x-request-id:
216
- - fd4c00f8-da14-4fc2-91e7-27cf4a90a00a
37
+ - 8db7cf5b-ba77-4d8e-b180-f2df6400f1d2
217
38
  x-robots-tag:
218
39
  - noindex, nofollow, nosnippet, noarchive
219
40
  x-runtime:
220
- - '0.123611'
41
+ - '0.090697'
221
42
  content-length:
222
- - '74'
43
+ - '75'
223
44
  connection:
224
- - Close
45
+ - keep-alive
225
46
  body:
226
47
  encoding: UTF-8
227
- string: '{"success":true,"message":"Fax queued for sending","data":{"id":55405187}}'
228
- http_version:
229
- recorded_at: Fri, 27 Oct 2017 19:41:11 GMT
230
- recorded_with: VCR 3.0.3
48
+ string: '{"success":true,"message":"Fax queued for sending","data":{"id":253962795}}'
49
+ recorded_at: Wed, 24 Feb 2021 18:50:13 GMT
50
+ recorded_with: VCR 6.0.0