ruby-api-esignatur 0.0.1
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 +7 -0
- data/.gitignore +14 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +161 -0
- data/Rakefile +2 -0
- data/lib/ruby/api/esignatur/esignatur_client.rb +64 -0
- data/lib/ruby/api/esignatur/version.rb +7 -0
- data/lib/ruby/api/esignatur.rb +2 -0
- data/ruby-api-esignatur.gemspec +31 -0
- data/sample_document.pdf +0 -0
- data/test/esignatur/esignatur_test.rb +91 -0
- data/test/fixtures/create_order.yml +54 -0
- data/test/fixtures/get_document.yml +52 -0
- data/test/fixtures/order_status.yml +53 -0
- data/test/fixtures/pending_orders.yml +53 -0
- data/test/test_helper.rb +10 -0
- metadata +165 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 40c0107fd2af78ed2fab1ef87ed85ec59c3530a8
|
4
|
+
data.tar.gz: be6c8a1a7a1b8b332d01f8943d33e633d968b25c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6efbfe3625a6b5ce189452afa7d353fe0fb16d82aeace5713041be2dbb0fb3a6c157d0ba1dd86b34353465dca3ab88eccfdfffe0f4f793ebcb22f22e29944c21
|
7
|
+
data.tar.gz: 6d936a022065bbf9e5f7c46cd1e3e2d4ca856083c70892ef52ce9768001785329d50778dfeda79d11e46906c2443d158f5934177a50fca2487e342de1c1bb928
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2015 Ankur Gupta
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,161 @@
|
|
1
|
+
# Ruby::Api::Esignatur
|
2
|
+
|
3
|
+
Get your documents digitalized with https://www.esignatur.dk (esignatur is Denmark's safest digital signing solution for both private and public companies).
|
4
|
+
|
5
|
+
This gem is a Ruby wrapper for the esignatur API & provides all supported methods. Get the API details here: https://api.esignatur.dk/
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
If integrating with Rails 3.x, 4.x version:
|
10
|
+
|
11
|
+
Add this line to your application's Gemfile:
|
12
|
+
|
13
|
+
```ruby
|
14
|
+
gem 'ruby-api-esignatur'
|
15
|
+
```
|
16
|
+
|
17
|
+
And then execute:
|
18
|
+
|
19
|
+
$ bundle
|
20
|
+
|
21
|
+
Or install it yourself as:
|
22
|
+
|
23
|
+
$ gem install ruby-api-esignatur
|
24
|
+
|
25
|
+
## Get Started
|
26
|
+
|
27
|
+
1. Get started with [Signup] https://www.esignatur.dk/kom-i-gang/
|
28
|
+
2. Before creating signing orders, you should have:
|
29
|
+
* SenderEmail (E-mail address of sender)
|
30
|
+
* CreatorId (Id of document creator).
|
31
|
+
* Identification (Cvr/Cpr of signer).
|
32
|
+
|
33
|
+
##Usage
|
34
|
+
|
35
|
+
####Headers:
|
36
|
+
|
37
|
+
Set the default headers with your signatur ID:
|
38
|
+
|
39
|
+
```ruby
|
40
|
+
headers = {'Content-Type' => 'application/json',
|
41
|
+
'X-Esignatur-Id' => '1aaXXXX-XXXX-XXXX-XXXX-XXXXXXXXX044'}
|
42
|
+
```
|
43
|
+
|
44
|
+
##### Creating Signing Order (https://api.esignatur.dk/Documentation/Order):
|
45
|
+
|
46
|
+
1. Get the Base64 encoded document of the signing pdf. For eg:
|
47
|
+
|
48
|
+
```ruby
|
49
|
+
pdf_encoded = Base64.encode64(open("sample_document.pdf").to_a.join)
|
50
|
+
```
|
51
|
+
2. Get all the signing details in a hash (Check https://api.esignatur.dk/Documentation/Order for more details):
|
52
|
+
|
53
|
+
```ruby
|
54
|
+
signing_body = {CreatorId: "9208-XXXX-X-XXXXXXXXX650",
|
55
|
+
SenderEmail: "sender@example.com",
|
56
|
+
CommonNote: "This is a test order for signing.",
|
57
|
+
EndDate: Time.now,
|
58
|
+
Documents: [
|
59
|
+
{
|
60
|
+
title: "Signing Contract",
|
61
|
+
Filename: "contract.pdf",
|
62
|
+
DocumentFormat: "Pdf",
|
63
|
+
DocumentData: pdf_encoded
|
64
|
+
}
|
65
|
+
],
|
66
|
+
steps: [
|
67
|
+
{
|
68
|
+
Signers: [
|
69
|
+
{
|
70
|
+
name: 'Name1',
|
71
|
+
email: 'signer@example.com',
|
72
|
+
identification: '23434234234234'
|
73
|
+
}
|
74
|
+
]
|
75
|
+
}
|
76
|
+
]
|
77
|
+
}
|
78
|
+
|
79
|
+
```
|
80
|
+
|
81
|
+
3. Create request api client with headers:
|
82
|
+
|
83
|
+
```ruby
|
84
|
+
client = Esignatur::APIClient.new(headers)
|
85
|
+
```
|
86
|
+
|
87
|
+
4. Send the creating order request with order details:
|
88
|
+
```ruby
|
89
|
+
response = client.create_order(signing_body)
|
90
|
+
```
|
91
|
+
|
92
|
+
##### Get All pending orders:
|
93
|
+
```ruby
|
94
|
+
response = client.pending_orders("sender@example.com") #E-mail address of sender. Set to blank disable e-mail filtering.
|
95
|
+
```
|
96
|
+
|
97
|
+
##### Get Order Status:
|
98
|
+
```ruby
|
99
|
+
response = client.order_status(("sender@example.com", "c00XXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX608")
|
100
|
+
# More details on: https://api.esignatur.dk/Documentation/Status
|
101
|
+
```
|
102
|
+
|
103
|
+
##### Download Signed Document:
|
104
|
+
Note: The output from these methods tends to be quite large.
|
105
|
+
```ruby
|
106
|
+
response = client.get_document(Id: "34XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX166", DocumentIndex: 0)
|
107
|
+
# More details on: https://api.esignatur.dk/Documentation/Pades
|
108
|
+
```
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
## Submitting an Issue
|
115
|
+
We use the [GitHub issue tracker ](https://github.com/moorem/ruby-api-esignatur/issues) to track bugs and features.
|
116
|
+
|
117
|
+
|
118
|
+
## Contributing
|
119
|
+
|
120
|
+
1. Fork it ( https://github.com/[my-github-username]/ruby-api-esignatur/fork )
|
121
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
122
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
123
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
124
|
+
5. Create a new Pull Request
|
125
|
+
# ruby-api-esignatur
|
126
|
+
|
127
|
+
|
128
|
+
## <a name="rubies">Supported Rubies</a>
|
129
|
+
This library aims to support the following Ruby implementations:
|
130
|
+
|
131
|
+
* Ruby >= 1.9
|
132
|
+
* [JRuby](http://www.jruby.org/)
|
133
|
+
* [Rubinius](http://rubini.us/)
|
134
|
+
* [Ruby Enterprise Edition](http://www.rubyenterpriseedition.com/)
|
135
|
+
|
136
|
+
If something doesn't work on one of these interpreters, it should be considered
|
137
|
+
a bug.
|
138
|
+
|
139
|
+
This library may inadvertently work (or seem to work) on other Ruby
|
140
|
+
implementations, however support will only be provided for the versions listed
|
141
|
+
above.
|
142
|
+
|
143
|
+
If you would like this library to support another Ruby version, you may
|
144
|
+
volunteer to be a maintainer. Being a maintainer entails making sure all tests
|
145
|
+
run and pass on that implementation. When something breaks on your
|
146
|
+
implementation, you will be personally responsible for providing patches in a
|
147
|
+
timely fashion. If critical issues for a particular implementation exist at the
|
148
|
+
time of a major release, support for that Ruby version may be dropped.
|
149
|
+
|
150
|
+
## <a name="todos">Todos</a>
|
151
|
+
* Need to add other API methods.
|
152
|
+
* Need to fully test all the methods.
|
153
|
+
* Need to add a history log for additional contributers.
|
154
|
+
|
155
|
+
|
156
|
+
##Credits
|
157
|
+
[](http://moorem.com)
|
158
|
+
|
159
|
+
Copyright (c) 2015 [moorem.com](http://moorem.com "Ruby on Rails, iOS and Android developers"), released under the [LICENSE](https://github.com/moorem/ruby-api-esignatur/blob/master/LICENSE.txt).
|
160
|
+
|
161
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'faraday'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
API_URL = "https://api.esignatur.dk"
|
5
|
+
|
6
|
+
module Esignatur
|
7
|
+
|
8
|
+
class APIClient
|
9
|
+
|
10
|
+
def initialize(headers)
|
11
|
+
@headers = headers
|
12
|
+
@connection = set_connection
|
13
|
+
end
|
14
|
+
|
15
|
+
def create_order options = {}
|
16
|
+
response = @connection.post do |req|
|
17
|
+
req.url URI.encode('/Order/Create')
|
18
|
+
req.headers.merge!(@headers)
|
19
|
+
req.body = options.to_json
|
20
|
+
end
|
21
|
+
JSON.parse(response.body)
|
22
|
+
end
|
23
|
+
|
24
|
+
def pending_orders email
|
25
|
+
response = @connection.post do |req|
|
26
|
+
req.url '/Order/Pending'
|
27
|
+
req.headers.merge!(@headers)
|
28
|
+
req.body = {Email: email}.to_json
|
29
|
+
end
|
30
|
+
JSON.parse(response.body)
|
31
|
+
end
|
32
|
+
|
33
|
+
def order_status email, order_no
|
34
|
+
response = @connection.get do |req|
|
35
|
+
req.url URI.encode('/Status/Get/{'+order_no+'}')
|
36
|
+
req.headers.merge!(@headers)
|
37
|
+
req.body = {Email: email}.to_json
|
38
|
+
end
|
39
|
+
JSON.parse(response.body)
|
40
|
+
end
|
41
|
+
|
42
|
+
def get_document options = {}
|
43
|
+
response = @connection.post do |req|
|
44
|
+
req.url URI.encode('/Pades/Download')
|
45
|
+
req.headers.merge!(@headers)
|
46
|
+
req.body = options.to_json
|
47
|
+
end
|
48
|
+
JSON.parse(response.body)
|
49
|
+
end
|
50
|
+
|
51
|
+
|
52
|
+
private
|
53
|
+
|
54
|
+
def set_connection
|
55
|
+
Faraday.new(:url => API_URL) do |faraday|
|
56
|
+
faraday.request :url_encoded
|
57
|
+
faraday.response :logger
|
58
|
+
faraday.adapter Faraday.default_adapter
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'ruby/api/esignatur/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "ruby-api-esignatur"
|
8
|
+
spec.version = Ruby::Api::Esignatur::VERSION
|
9
|
+
spec.authors = ["Ankur Gupta"]
|
10
|
+
spec.email = ["ankur@moorem.com"]
|
11
|
+
spec.summary = %q{Electronic Signature using esignatur.dk}
|
12
|
+
spec.description = %q{The esignatur.dk provides methods for developers to integrate API in any ruby application.}
|
13
|
+
spec.homepage = "http://moorem.com"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
|
22
|
+
spec.add_development_dependency "minitest", "~> 5.6"
|
23
|
+
spec.add_development_dependency "vcr", "~> 2.9"
|
24
|
+
spec.add_development_dependency "webmock", "~> 1.21"
|
25
|
+
|
26
|
+
spec.add_dependency "faraday", "~> 0.9"
|
27
|
+
spec.add_dependency "json", "~> 1.8"
|
28
|
+
|
29
|
+
spec.add_development_dependency "bundler", "~> 1.7"
|
30
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
31
|
+
end
|
data/sample_document.pdf
ADDED
Binary file
|
@@ -0,0 +1,91 @@
|
|
1
|
+
require './test/test_helper'
|
2
|
+
|
3
|
+
class EsignaturTest < Minitest::Test
|
4
|
+
|
5
|
+
def test_exists
|
6
|
+
assert Esignatur::APIClient
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_create_order
|
10
|
+
VCR.use_cassette('create_order') do
|
11
|
+
headers = set_headers
|
12
|
+
client = Esignatur::APIClient.new(headers)
|
13
|
+
|
14
|
+
pdf_encoded = Base64.encode64(open("sample_document.pdf").to_a.join)
|
15
|
+
|
16
|
+
signing_body = {CreatorId: "9208-2002-2-315851760650",
|
17
|
+
SenderEmail: "info@kreditmatch.dk",
|
18
|
+
CommonNote: "This is a test order for signing.",
|
19
|
+
EndDate: Time.now,
|
20
|
+
Documents: [
|
21
|
+
{
|
22
|
+
title: "Signing Contract",
|
23
|
+
Filename: "contract.pdf",
|
24
|
+
DocumentFormat: "Pdf",
|
25
|
+
DocumentData: pdf_encoded
|
26
|
+
}
|
27
|
+
],
|
28
|
+
steps: [
|
29
|
+
{
|
30
|
+
Signers: [
|
31
|
+
{
|
32
|
+
name: 'Name1',
|
33
|
+
email: 'developer@moorem.com',
|
34
|
+
identification: '23434234234234'
|
35
|
+
}
|
36
|
+
]
|
37
|
+
},
|
38
|
+
{
|
39
|
+
Signers: [
|
40
|
+
{
|
41
|
+
name: 'Name2',
|
42
|
+
email: 'ankur@moorem.com',
|
43
|
+
identification: '23434234234234'
|
44
|
+
}
|
45
|
+
]
|
46
|
+
}
|
47
|
+
]
|
48
|
+
}
|
49
|
+
|
50
|
+
result = client.create_order(signing_body)
|
51
|
+
assert_kind_of Hash, result
|
52
|
+
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_pending_orders
|
57
|
+
VCR.use_cassette('pending_orders') do
|
58
|
+
headers = set_headers
|
59
|
+
client = Esignatur::APIClient.new(headers)
|
60
|
+
result = client.pending_orders("info@kreditmatch.dk")
|
61
|
+
assert_kind_of Hash, result
|
62
|
+
assert_kind_of Array, result["PendingOrders"]
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_order_status
|
67
|
+
VCR.use_cassette('order_status') do
|
68
|
+
headers = set_headers
|
69
|
+
client = Esignatur::APIClient.new(headers)
|
70
|
+
result = client.order_status("info@kreditmatch.dk", "c00771af-359c-4628-a72d-185d20f4e608")
|
71
|
+
assert_kind_of Hash, result
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_download_document
|
76
|
+
VCR.use_cassette('get_document') do
|
77
|
+
headers = set_headers
|
78
|
+
client = Esignatur::APIClient.new(headers)
|
79
|
+
result = client.get_document(Id: "34e6100f-51fa-4599-ae70-eda5385dc166", DocumentIndex: 0)
|
80
|
+
assert_kind_of Hash, result
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
private
|
85
|
+
|
86
|
+
def set_headers
|
87
|
+
{'Content-Type' => 'application/json',
|
88
|
+
'X-Esignatur-Id' => '1aa6f55d-5724-e411-899d-d89d67640044'}
|
89
|
+
end
|
90
|
+
|
91
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://api.esignatur.dk/Order/Create
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"CreatorId":"9208-2002-2-315851760650","SenderEmail":"info@kreditmatch.dk","CommonNote":"This
|
9
|
+
is a test order for signing.","EndDate":"2015-04-28 12:58:43 +0530","Documents":[{"title":"Signing
|
10
|
+
Contract","Filename":"contract.pdf","DocumentFormat":"Pdf","DocumentData":"JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0aCA1IDAg\nUiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGVVE1P3DAQvftX\nTAkFpy1ef9uBQqtWXLghWeqhy2kFh5VAovv/pY4de0QgGxbtSpk44+eZ957n\nGW7hGZTOfxcURBXh3z38gSdY/d4p2OxAlt9ug3lSaDu+52CQEFwUQcPmEX4l\n5sbM+kiPsEoJgSE9wF/gn3o4k0IBPyqBAd4dl0gD/1wCB/ykz2cwftq+rHle\nscDXffkE/Et+IszXltKNm4B/Kyv46awEuEn07A7SDVyn0ua0fBWdcDLESROw\nv4lSVdrOg2UurBXOj1wswAA2x5ZgjBTeHgQDactmW8vVKC9sfB8GlVmNdL1g\nXRKVqlFJdOsqCElkqjCUcdwzVBplJR1Ictpke1hQJhjhva89sOKuJUaxB9fq\nJJ9Q0Ao+6VmpqqMifK28GahZK9R1YoGwyKi4MqLFcjCabngFdp7f0eV02kVe\nwMTv9YnsVApYvoNTcxoZhLTmYBnR6ugG9OYs1oBGN8PhYFjzPmsZpYWy3k3B\nUG8ppYW0mdeJtSlwmT2BJFxR8zM30+hBGKnD9IzJzWST8ULdz4EZJYI3HwD7\nUamcBfPCWPcBsELl/pkh9f6ZwSbz82dz+NsAtR9Ha0dGpWB0P6uTFYcuJTe3\nU2q3pImKQQw+4rQsJb9/KbPx25i7/Q9XVjz5CmVuZHN0cmVhbQplbmRvYmoK\nNSAwIG9iago0ODkKZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1Bh\ncmVudCAzIDAgUiAvUmVzb3VyY2VzIDYgMCBSIC9Db250ZW50cyA0IDAgUiAv\nTWVkaWFCb3ggWzAgMCA1OTUgODQyXQo+PgplbmRvYmoKNiAwIG9iago8PCAv\nUHJvY1NldCBbIC9QREYgL1RleHQgXSAvQ29sb3JTcGFjZSA8PCAvQ3MxIDcg\nMCBSID4+IC9Gb250IDw8IC9UVDIgOSAwIFIKPj4gPj4KZW5kb2JqCjEwIDAg\nb2JqCjw8IC9MZW5ndGggMTEgMCBSIC9OIDMgL0FsdGVybmF0ZSAvRGV2aWNl\nUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4AZ2Wd1RT2RaH\nz703vdASIiAl9Bp6CSDSO0gVBFGJSYBQAoaEJnZEBUYUESlWZFTAAUeHImNF\nFAuDgmLXCfIQUMbBUURF5d2MawnvrTXz3pr9x1nf2ee319ln733XugBQ/IIE\nwnRYAYA0oVgU7uvBXBITy8T3AhgQAQ5YAcDhZmYER/hEAtT8vT2ZmahIxrP2\n7i6AZLvbLL9QJnPW/3+RIjdDJAYACkXVNjx+JhflApRTs8UZMv8EyvSVKTKG\nMTIWoQmirCLjxK9s9qfmK7vJmJcm5KEaWc4ZvDSejLtQ3pol4aOMBKFcmCXg\nZ6N8B2W9VEmaAOX3KNPT+JxMADAUmV/M5yahbIkyRRQZ7onyAgAIlMQ5vHIO\ni/k5aJ4AeKZn5IoEiUliphHXmGnl6Mhm+vGzU/liMSuUw03hiHhMz/S0DI4w\nF4Cvb5ZFASVZbZloke2tHO3tWdbmaPm/2d8eflP9Pch6+1XxJuzPnkGMnlnf\nbOysL70WAPYkWpsds76VVQC0bQZA5eGsT+8gAPIFALTenPMehmxeksTiDCcL\ni+zsbHMBn2suK+g3+5+Cb8q/hjn3mcvu+1Y7phc/gSNJFTNlReWmp6ZLRMzM\nDA6Xz2T99xD/48A5ac3Jwyycn8AX8YXoVVHolAmEiWi7hTyBWJAuZAqEf9Xh\nfxg2JwcZfp1rFGh1XwB9hTlQuEkHyG89AEMjAyRuP3oCfetbEDEKyL68aK2R\nr3OPMnr+5/ofC1yKbuFMQSJT5vYMj2RyJaIsGaPfhGzBAhKQB3SgCjSBLjAC\nLGANHIAzcAPeIACEgEgQA5YDLkgCaUAEskE+2AAKQTHYAXaDanAA1IF60ARO\ngjZwBlwEV8ANcAsMgEdACobBSzAB3oFpCILwEBWiQaqQFqQPmULWEBtaCHlD\nQVA4FAPFQ4mQEJJA+dAmqBgqg6qhQ1A99CN0GroIXYP6oAfQIDQG/QF9hBGY\nAtNhDdgAtoDZsDscCEfCy+BEeBWcBxfA2+FKuBY+DrfCF+Eb8AAshV/CkwhA\nyAgD0UZYCBvxREKQWCQBESFrkSKkAqlFmpAOpBu5jUiRceQDBoehYZgYFsYZ\n44dZjOFiVmHWYkow1ZhjmFZMF+Y2ZhAzgfmCpWLVsaZYJ6w/dgk2EZuNLcRW\nYI9gW7CXsQPYYew7HA7HwBniHHB+uBhcMm41rgS3D9eMu4Drww3hJvF4vCre\nFO+CD8Fz8GJ8Ib4Kfxx/Ht+PH8a/J5AJWgRrgg8hliAkbCRUEBoI5wj9hBHC\nNFGBqE90IoYQecRcYimxjthBvEkcJk6TFEmGJBdSJCmZtIFUSWoiXSY9Jr0h\nk8k6ZEdyGFlAXk+uJJ8gXyUPkj9QlCgmFE9KHEVC2U45SrlAeUB5Q6VSDahu\n1FiqmLqdWk+9RH1KfS9HkzOX85fjya2Tq5FrleuXeyVPlNeXd5dfLp8nXyF/\nSv6m/LgCUcFAwVOBo7BWoUbhtMI9hUlFmqKVYohimmKJYoPiNcVRJbySgZK3\nEk+pQOmw0iWlIRpC06V50ri0TbQ62mXaMB1HN6T705PpxfQf6L30CWUlZVvl\nKOUc5Rrls8pSBsIwYPgzUhmljJOMu4yP8zTmuc/jz9s2r2le/7wplfkqbip8\nlSKVZpUBlY+qTFVv1RTVnaptqk/UMGomamFq2Wr71S6rjc+nz3eez51fNP/k\n/IfqsLqJerj6avXD6j3qkxqaGr4aGRpVGpc0xjUZmm6ayZrlmuc0x7RoWgu1\nBFrlWue1XjCVme7MVGYls4s5oa2u7act0T6k3as9rWOos1hno06zzhNdki5b\nN0G3XLdTd0JPSy9YL1+vUe+hPlGfrZ+kv0e/W3/KwNAg2mCLQZvBqKGKob9h\nnmGj4WMjqpGr0SqjWqM7xjhjtnGK8T7jWyawiZ1JkkmNyU1T2NTeVGC6z7TP\nDGvmaCY0qzW7x6Kw3FlZrEbWoDnDPMh8o3mb+SsLPYtYi50W3RZfLO0sUy3r\nLB9ZKVkFWG206rD6w9rEmmtdY33HhmrjY7POpt3mta2pLd92v+19O5pdsN0W\nu067z/YO9iL7JvsxBz2HeIe9DvfYdHYou4R91RHr6OG4zvGM4wcneyex00mn\n351ZzinODc6jCwwX8BfULRhy0XHhuBxykS5kLoxfeHCh1FXbleNa6/rMTdeN\n53bEbcTd2D3Z/bj7Kw9LD5FHi8eUp5PnGs8LXoiXr1eRV6+3kvdi72rvpz46\nPok+jT4Tvna+q30v+GH9Av12+t3z1/Dn+tf7TwQ4BKwJ6AqkBEYEVgc+CzIJ\nEgV1BMPBAcG7gh8v0l8kXNQWAkL8Q3aFPAk1DF0V+nMYLiw0rCbsebhVeH54\ndwQtYkVEQ8S7SI/I0shHi40WSxZ3RslHxUXVR01Fe0WXRUuXWCxZs+RGjFqM\nIKY9Fh8bFXskdnKp99LdS4fj7OIK4+4uM1yWs+zacrXlqcvPrpBfwVlxKh4b\nHx3fEP+JE8Kp5Uyu9F+5d+UE15O7h/uS58Yr543xXfhl/JEEl4SyhNFEl8Rd\niWNJrkkVSeMCT0G14HWyX/KB5KmUkJSjKTOp0anNaYS0+LTTQiVhirArXTM9\nJ70vwzSjMEO6ymnV7lUTokDRkUwoc1lmu5iO/kz1SIwkmyWDWQuzarLeZ0dl\nn8pRzBHm9OSa5G7LHcnzyft+NWY1d3Vnvnb+hvzBNe5rDq2F1q5c27lOd13B\nuuH1vuuPbSBtSNnwy0bLjWUb326K3tRRoFGwvmBos+/mxkK5QlHhvS3OWw5s\nxWwVbO3dZrOtatuXIl7R9WLL4oriTyXckuvfWX1X+d3M9oTtvaX2pft34HYI\nd9zd6brzWJliWV7Z0K7gXa3lzPKi8re7V+y+VmFbcWAPaY9kj7QyqLK9Sq9q\nR9Wn6qTqgRqPmua96nu37Z3ax9vXv99tf9MBjQPFBz4eFBy8f8j3UGutQW3F\nYdzhrMPP66Lqur9nf19/RO1I8ZHPR4VHpcfCj3XVO9TXN6g3lDbCjZLGseNx\nx2/94PVDexOr6VAzo7n4BDghOfHix/gf754MPNl5in2q6Sf9n/a20FqKWqHW\n3NaJtqQ2aXtMe9/pgNOdHc4dLT+b/3z0jPaZmrPKZ0vPkc4VnJs5n3d+8kLG\nhfGLiReHOld0Prq05NKdrrCu3suBl69e8blyqdu9+/xVl6tnrjldO32dfb3t\nhv2N1h67npZf7H5p6bXvbb3pcLP9luOtjr4Ffef6Xfsv3va6feWO/50bA4sG\n+u4uvnv/Xtw96X3e/dEHqQ9eP8x6OP1o/WPs46InCk8qnqo/rf3V+Ndmqb30\n7KDXYM+ziGePhrhDL/+V+a9PwwXPqc8rRrRG6ketR8+M+YzderH0xfDLjJfT\n44W/Kf6295XRq59+d/u9Z2LJxPBr0euZP0reqL45+tb2bedk6OTTd2nvpqeK\n3qu+P/aB/aH7Y/THkensT/hPlZ+NP3d8CfzyeCZtZubf94Tz+wplbmRzdHJl\nYW0KZW5kb2JqCjExIDAgb2JqCjI2MTIKZW5kb2JqCjcgMCBvYmoKWyAvSUND\nQmFzZWQgMTAgMCBSIF0KZW5kb2JqCjMgMCBvYmoKPDwgL1R5cGUgL1BhZ2Vz\nIC9NZWRpYUJveCBbMCAwIDU5NSA4NDJdIC9Db3VudCAxIC9LaWRzIFsgMiAw\nIFIgXSA+PgplbmRvYmoKMTIgMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cgL1Bh\nZ2VzIDMgMCBSID4+CmVuZG9iago5IDAgb2JqCjw8IC9UeXBlIC9Gb250IC9T\ndWJ0eXBlIC9UcnVlVHlwZSAvQmFzZUZvbnQgL0JGUUNTUCtDYW1icmlhIC9G\nb250RGVzY3JpcHRvcgoxMyAwIFIgL1RvVW5pY29kZSAxNCAwIFIgL0ZpcnN0\nQ2hhciAzMyAvTGFzdENoYXIgNjQgL1dpZHRocyBbIDQ5NiA0ODggODMyCjU1\nNiAyNzEgNDg4IDIyMCA2NjIgNTMxIDQ0MSA1NTIgNTU4IDMzOCAyMDUgNzEy\nIDYyMyA1MjQgNDE0IDYxMSAzODIgODE1IDU5Mwo1NTIgNDk0IDI3OCA0MzAg\nNTY4IDUwNCA1MzcgNTU1IDM4MiA3NzQgXSA+PgplbmRvYmoKMTQgMCBvYmoK\nPDwgL0xlbmd0aCAxNSAwIFIgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3Ry\nZWFtCngBXZPLitswGIX3fgotp4shipXLBIyhzDCQRS807QPYkpwxTGyjOIu8\nfb+jhBS6+AxH/01H+bN43b/th342i59p9Ic4m64fQorn8ZJ8NG089kOxLE3o\n/XxX+cyfmqlYUHy4nud42g/daKqqMGbxi5LznK7m6WsY2/hFZz9SiKkfjubp\nz+shnxwu0/QZT3GYjS3q2oTY0e5bM31vTtEscunzPhDv5+szVf8yfl+naLgR\nFcvblfwY4nlqfEzNcIxFZW1dvb/XRRzCf6F7Qdv5jyYVVbmtSbY7wyfwKS2f\nxubKe457lNybl8u6EtauXU2LEgnWbpaSDgnIILlCgrVbulblGglEveQGCci1\n5AsSrF2tJHdIINpJNkhA5rktEuicaz0SiEYlByQQza0iEnCYox0SiEo6nksw\nVxYc5gStWknMCZJLScwJkreSmBN0fpHEnCAq+w5zgrfSNRzPLeick/Hqst9N\nboVXd/O7UzJeBXPl1+FV0Eov6fAqiG4k8SqYq4d1eBUMynPx6rJf3rOoVngV\n1DKXJWm722+rfdFeP/bQX1JiBfPy5+3U1vVDfPw/pnFSg8xfGNDf7QplbmRz\ndHJlYW0KZW5kb2JqCjE1IDAgb2JqCjQ0MQplbmRvYmoKMTMgMCBvYmoKPDwg\nL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9Gb250TmFtZSAvQkZRQ1NQK0NhbWJy\naWEgL0ZsYWdzIDQgL0ZvbnRCQm94IFstMTQ3NSAtMjQ2MyAyODY3IDMxMTdd\nCi9JdGFsaWNBbmdsZSAwIC9Bc2NlbnQgOTUwIC9EZXNjZW50IC0yMjIgL0Nh\ncEhlaWdodCA2NjcgL1N0ZW1WIDAgL1hIZWlnaHQKNDY3IC9BdmdXaWR0aCA2\nMTUgL01heFdpZHRoIDI5MTkgL0ZvbnRGaWxlMiAxNiAwIFIgPj4KZW5kb2Jq\nCjE2IDAgb2JqCjw8IC9MZW5ndGggMTcgMCBSIC9MZW5ndGgxIDE3OTkyIC9G\naWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae17e2BU1bnvWnvPeyaZ\nPTOZVyaPPZlMJskkmUwmr4FJspNMQiA8khAwAYGEDBgQechDtCJRiGBAFJX6\nrNIWpLU91wH0CD22TT3Woxas2tbT2oeg0lqVgt6+sDK5v7VnJjyq994/7j1/\nncl83/rWc6/1vda31p5suHHjMqInI4QnlUM3DK4l8sd3Hknf0KYNYjJv3kyI\n5vHla6+7IZl3OQgx9F636ublyXzxbkJyHxteNhhL5snnSGuHUZDM02qkhcM3\nbMA47ONbBbR91ZqhVH1xB/LRGwY3p55PfoO8uHrwhmVI8WkvBhLX3rgsVU/7\nCDHlo2yAAQf0z59MQihK3WSclJMHiYpwRCABghlrF6Ivj1pWr/x7T5lyf3yJ\nMfIX4tLIwxz//UMNjHi5IWfHn6s/7rR94jiHrBYjJD/op34kESbEvuDP1RcP\n2D6RR0pVyon7OBFp4hmtg84Qj9HP0sSFNPH3NPG3NPHXNHE+TZxLE39KE2fT\nxMdp4qM08fs0cSZNvJ8m3ksT76aJ02niVJr4WZp4M028kSZ+miZeSxMn08SJ\nNLE/TdyTJvakibE0sTNN7EgTd6aJhWliQZroTxN9aaI3TXSliZlpojNNzEgT\ntWmiMk0E0kR5mihLE9o0oU4TSmlCltyfZfypjD+R8XkZn5PxWRl/LOMPZXxG\nxu/L+D0Zn5bx72T8tox/KeOfyfikjE/I+FUZvyLjl2X8koxflPELMh6X8Q9l\n/H0ZH5XxYRk/LeODMj4g4/0y3iPju2W8W8a7ZDwm47tkPCrj7TLeBiw1zhBH\n5NxWGd8m4y0yXirjbhl3ybhDxi0yzmTY2DykaCb5gACgCTAHsASwBrAVcA/g\nCcDTgB8CfgrIIEv4D2FKI/yfyb2A/YA4YBzwOuAU4DxAg1FDGDWEUUMYNYRR\nQxg1hFFDGDWEUUMYNUR0mEM1WlejdTVaV6N1NVpXo3U1UeOpHvIO4ByAJ0bg\nfEATYAngCYVH8ijPv0vjF8cvcuMXX7946uL5i4pkwo9PvD5xauL8hGJts07h\nxbTHgV8HnAKcV3glg+LUD87/gJORsdmkcGNgN/NCXB9aG4FPATg8VsfyCs0z\n1FhEjc0uhVrOq4C3cna57WMkn3uMBABNgDmAJQAVeQf4HGCCe0yay79zymbP\n+fkvgL5yq831lVudb7wJetNNQDesBVq1Buj61TbX9au33pi9YWOWNee6lUDL\nVwAtG85yLRseXZftXG+7pdXpvhngbA5y95GHARzJAS5jFPcw9wj3KDFwd3N7\nuHuQjnG7uN3EQFzcw2QXAEsCfgLwb4BfAxTcQbQ5RDK4J9D360gfQ9/HScbE\nB9yeI1me8HEQjzCiOZu7g9sCEfu527lbiRLpbdwtRIF0Syq9hbtGLr+Ju05O\nr+OuOaL0i8e4tUdcYvj73I2oZ+1Xo1zByq85GgyFtc3N3DriBDyFehSizQrk\n3gb1AYDntnM3g6N+bgQp678VKZvHV1Lpzdx8uX4zx3Y9P7cJKavfmErXp9Ll\nqXYbkLJ261PpGm7+EbW/pLkLeUruZJhbxC3mloCF3VwPNxfpbG4O1wVW6rnZ\ngG6i4xaRqaD7QW8CbET+UeSfRforpDpuBXpcD4YOYaRlSAcw0lKkK0iEGwIM\nABYBugGzAVEuInOtlTNBUH5OSuUbkWerbuBM4Fp7sxXllLQDvwTguKmoV6M+\njJRxqS7V3o32asbl0BGLLdxs4wKpiopUWo6UibEslfen0lJ0VPqnNbcgT4kS\n+CCAw3JDpBMQQ24DQMG1cIL86GakbKQmpGzqU1Ll9am0NpXWpFIxlVYjZf2C\nqbQyVV6SSos5AUsYa16NPCXZwMe5KizZzjk4J4Si5wxcBlINp+V0snA0EI4e\nzLdjthoIRw/h6CEcO4SjgXDsEI4G9R708EIYuRgpH2k2RspB6oEgcgHZADtA\nD9CQCJ1LZ7GV0dmpdD69lgmFzkul1yBl9W/Tn8O3+ekvU+kZeoqtkJ5Opafo\nR3L+HFLW/mP6EXgtHUOi1cHYxqniSDCYImA0xybGn/mPfDGMFvyRsrLw9yjP\noqMj+QWe44w8Op6X50kX5uamC3NyJgtdrnRhVnaKGtFbUpSk1YHiKD0qde0C\nRTEio5p1KCRkDslnRSzFzMiRrnnyzMhRj4fNiDyXmxeWPnC55Gn+odAbnn+M\naiQL/e0vlf6pb3W+xUlxfUb4R+NKP9Yh1T1hsYSlxwKV4cceof5HH1H6H9mr\n8H/7YYX/4ft4v/TjsmD4vr28f+feh/Zy2iHH0H8M8eJQhhGDn39mWr43/JNj\nVCfl0If2UX/d4/Sr+zi/48Gi0rD9QSrsa5LCv9pHn6e1tAz7hZ9WHjmp8B+j\ngSMnWFJ+5CSPpIwVPk9n0hlymxlHtir9x+lC2gu7MjY7aS+W20s4eifdKQtn\nB1Im5LtS6U56j9xxD1JWfs/RUaW/qdlA9xNKX6Mn5Mo3kcIM6Rv0xBEVk6z6\nSFVVmCVPYw4T40d/lyeLVTL9xpEdfuVV3v/qywq/9LK7gHHx6MtWu5y+BG6y\n/Eu2bJZKnh+WB8Nd3eBTN/h9Bst6/z1k3istDZ88AQ060RKV25/w+Vj63Al7\ndviFDylWrT3ytvxgKfSh1xt+50MqvejKDR89rPQfhmCk8YaG8PjTCv/Pnlb6\nn94Cd/222Rb+8fepuIcKeyibwq7aennoXT6/PJWqXRh7991K/91jCv9dY0r/\nGPj453O8/9NzSv8nI5z//H6F/xxYI31cVR2WPsbT2DD7u3uSadu0ZFofkYfT\n74fg39lP96Mna/cA9B+p9PMR8Of2rdR/G2a1BY84C/jlVrp11Ju/c5T6dwC2\n4ynbACWj4dHpo/zyUdo+SmtHadEoddVZHbVWa43VXG01hqyGKqs2aFVVWvmA\nlVRYL3xmFC9UXuCKfJnFPmOpP7PMbyzwZBZ6jHn5mWK+kSgFJRdpyNRHNkQe\njvBGwWTQ6vQGlVpj4BVKAzYIg4qP5a8tpcZSqjd2GuEpppIov4H/Dvm1UaUn\nel5vnEqmavv5hdpN/KPkUe3Dxl8Rw3Gqpwap1OiiuRkOdXaGVbBnmBVZGYEL\nay48cWH/hZ9eeP2CqumCdOHpC/ELpy4oyTGqPxK4EPge1ZMmqpcqFP+IXIj8\nLfKXSFmkNFIcKYoURgoiYiQv4oo4ItaIOWKMaCOqCB8hka5QL42bO0lnb0vc\nQpHObYmH/J3HeLEnXuXvjGu7FvYdpnRPP0rj3E7Yc29csfMYh8TcumBh3zHq\nZNWjruNQbxLvHBi9u9/vz43HOuf2xUdy++NVjLg3t590xqu64y5Pi/+LPus3\nbJSLka7fkGyw3r8+SRwuLmqLl7YNxsvaBqL+dKlcR9fjk2yf6uVPp8m+MsaY\n6dwkkS64lKaqWELlUrKBDbaBPXDD5aOu/6JnoAe5NNYVOXnE9KpSbUh6wcl8\nqvbSCF/S54onICP3owzHHfEmyO7qBoe1TIhdPS1xrvXaznispzOe17VwIJ7t\naemMv4xcbdfCuMHTgvkwVuKDdMP6jUAM5JLDhGvtPcwxpAJauLCveYgmSIx+\nBrgA+Dvgb4C/As4DzgH+BDgL+BjwEeD3gDOA9wHvAd4FnAacAvwM8CbgDcBP\nAa8BTgJOAPYD7gHsAYwBdgJ2AO4ELAQsAPQD+gC9gC7ATEAnYAagFlAJCADK\nAWUALUANUEorYn+OfRr7JHY+di52NvZx7MPYmdj7sfdip2O/i70d+2XsZ7GT\nsROxV2OvxF6OvRR7MfZCbDz2w9j3Y0djh2NPxw7GDsT2x/bE7o7tju2KjcXu\nio3Gtse2xUZiW2O3xbbElsa6Y12xjlhLLDN2tWD+/+Rhev8VH6K8GwEMUc7D\nnYxfvjEhCjvo1Id/PknjePU1QibYbZT8SfRcotH7MMngG0gGG4WzTpznThFh\nYv/lLdL9LqU82iRz7K6HgYJlW8gWluAzlEyQJu+aWAz/5Z8XvrzqS2teI6+Q\nfyPb5PrnyVHy3VTL75JnySh5gTxPkrdk/QiItpP9wL0oWUCmk3lkMVmB1uvI\nAXIw1Wsp7sCC+COkERwdS5W+Sj4g/0o/R7tHUyWXkvvxlBvJMTzpUTID4zWS\nvVjtA+Q75AnSSe5E7tLnLZk8xQ2SlWQ9OUTi6Bsjw3LpLHI76SDXYm7tZD7m\ntBpPX0CeJs+QZeQweRjlz5Me8rjqB0TDbWCSmvif3JSJ/0l2ofdXuQ043+3h\nR8gGcit5nPyO4MhP7km88L+X3qWJfSl1L3kIq9hO9kCmC/gGvosfmJTtl3ZK\nVTwHfv0IvNkMqTwJuTxO7qVe8gjZQbZQA/kaeZ5WXcGd/9N4X1T/HNmNsa/8\n/Ds5Dr4dhHz3gGPrIZdvYfZdVzbCdWYx1UFvVpIFNJN8RpZcXf//JL8WurAZ\nGncHnnMjVt6HG9Mg2Yh0GLAx/QyEwI1kJ6T+TTjF91HeQm4jq6mbVpKXyE7q\nILeg/ddQ+gD5Hq1E2/XkGVpMLsCqFmKV//SBP4Bdyv4AdRpCbeQ1Zpv8Z6wp\n/2HaH7Ac0xFaSF4m5JI/oB6aAX17jjyF53+DPEpdlCd/IadJggZoDiRXQt4A\nvAS+fY/8CPz7GC0c5D/ZuePqz9VzQY9dymWyn0DTf54LtP3uy+cCuzhEHoN9\nbYEOPQNb/xG5j/wr0t3I7YcFPUj+BTrwJHRpBHOd/CgXkBB4cB3DMg8yyb+n\n/BPy/Dgrn3hj4iSrTWJGJfZM0r+ANf8a9twFX/Hfn//mwH8hBzj15+8p3+Gm\nK41KOvGR4im1IrGQ/gUTOAiLvx/4K/i77osnxF/kP1A+PfEn5fcSLUqTsjCx\nLnEr9rL/JL8iPyU/Ju+Rn5FfkFfJH/hK/sf8af5TxYBCpTyp/AZ5VlFBbiJf\nvXpUxWrFsKJbcUCxQFGh9MGCcsgs+NVrsFcNkKXkevg1orxXHVTcp5yvjPGf\n8p8pH8IYq+D37oRvuh+ejEgLlsWWLF507cIF/X3zentmzeycMb1jWnu0taVZ\nampsiEydEq6vq62pDlUFKwMV5WX+0pJiX5G30FPgFvPzcnNc2U6H3WbNsphN\ngjEzw6DXaTVqlVLB48KjjDrijta+tpVxZ+sAYueoRxDjhtnnZwXixOxye0xi\nKNBfnmoVV/rjxNIZz+rqO0yk+v64yn91k9lx3it86kbnWS6xLa7w4uuZMRiL\nF/f0uT3CW67J+n4MG89u7XO7XXHOi+90VOE7Y1CMxYUulKNCLpkeJ119DI5N\nvFuPQlLv7gfu6YvnpbP9bLTkUi6b5HH4pvGrpjmbjgmHDc7WaJxkHSaGd+PE\nypqdr0c8EYkX41joFUDJo5FAnGZ9GqeWOLXOwpKufATrdqr+C3jQFlvpaYut\nAEdjA5d4ej7JUbc4Jo719JlCLrdbnjROLt19h/W6Vk/rMh1WgaMlCshhnR4l\nelYAsaw9TA2NVCY4Q9uUwxzRZIB9ZjbdNgYr49KuARCeKPiGGsulGtws7L68\niqBbshFBM5mi8jPjqta4OjkJcUVcGoyTXeLhsvGx3ccEsnTAb4h5YoPX9sX5\nQUzqMOG9bcO98ZzOrgUowiQAA8MiE3dURkx4YtuwOIY8azsA7Imi65XlseFl\nA0xN6IAnijpta98O97gLx/G+HW1xkz+ege4Zt7zv4sfaHCtElh0b2yHG93f3\nXV7rZm2gBI7yMnGszYOnYbC2lS1MYoFJscnaOD0mC0faNSjGR5auBM/wHdyd\n1n/3mBA3/NUN6UA+6MmsgzGYQWxgJVvKSvRUIBHHdi2Tl7pbXhr0VWxbGWXA\nOkL7yTz0XtDXNuxpAz9TDwRD0J/3Xt3X7Y47/azj2Fgbm+JgDLNnnMHXiRMx\nppHMwCZcfor5tMalXjkhvbIM8ERpMNqfKko1QI0CcohLA9H+fraopADiau8O\nZYVHHGODqr3xLL/gfhF14+VlnT19bVGmnWjJtfY1nHW4zoLu7Jospg60GQuc\nZUxiNXM9nd1JLRhm/GFooDdpwOBaSvJommovj3rS4TqZfMK1fe2e9oGxsXaP\n2D42MDZ4bGJkqUcUPGOHDYaxtW0Domz+FOXf2+WKt+/ujwsDw3SKLCH2eCyO\n97bj9G/pXshE1S4OD6IE3yaPu97lNk22gRf54uqUzUH7YQPM5saEj7F6A7yT\nS2xnrgY3svWuuFDPTBYTmtcHmxjCI9piMoKt4GKIczGr4fu9bSvmppjlcuOR\nsvIwH9idKsUgbjezp13HJLIUmfhId18yL5KlriNECvghxwFWM56usc5jNSPp\nmsnuAx7IzcEupmT9+DL9hm+f1O0xk8cshpljx+zwnR6Lj/dijX+vj2vAMVn0\nltY+3sWxJqA4F88onR/bQyRu98sdGU/gMccEj/i6Jy7448rWvnFXpF8UTHCW\nFG060JBpqvC65xXK/CjJEuI0Eqc2Vk7gV8E9+H17PSonFUlsGxtIKeDly0JT\n1jo2PGlKycnDdtnasHrBA9N1JdlgMnvYCk8whU9vDN52ZlcQicyoGf3xTLbf\nxTM/lhHm62rtE+GJYLndMiG2icNM2HFxICq7hH4Xq08XH5s4NRBlLrAPOogm\nrpSKQ9GTrL1SFcvL/m8VfQSKfvvu/uEpmJNUihWINXgsY3prb1/K3GQ5yUaA\nZ01nS7myfpKL6TZwbDBnd7wy+xUHFDXbIVt10nYnG0MIvVjNpAAuf5hcl1YP\nNpN4O/b/pA+QZxafJufltbPqjquqp6er4T62uG5BO2xkLYc9dGf3YYnunLug\n7zgOXuLO3r4jHOVaB1r6Dxeiru+4iCBILsW93UALK2RNRJYhnRSjHcELMdbe\ndVwiZESuVcgFcn4IF71yWbIRyigZwq2vXCak23EoUyTLJLkM+wmm2OYYhnvr\n80DosbjU1Xdr//DYQD9jNrElFRCa7Wkkcc7TeJhyKkNc51nWEtd7Wlh5Eytv\nSparWLna0wL1h3GIx2DqYwMemD8ccB9x0X6mwkzLOa94bGICHvQkPK87rvJe\nC4CD1fr7xbjSOwPtpjEYQPG0+MjQIJsHU1P0VXunD/XHNZMDosn0uBYjaFMj\noEW73AfbM+s0BGUd9MgkimEcI/3xfj97aN8KNiNRRDzU4ZkSVxUlJ6ksYg8K\n9I+ZPVXydqLyxnXeHeiBZ8yQHaFc4kIWD2P7Eb5qA2Y+5EGroQERElCQoblQ\nRkUR++qY3FCyDLu6ogibKkAHQ5Yr8bsLZvj6DF1cW4EB8WW0vgID4qvuB1PY\n4uXcjlQDPFuI6zGjostYmeoA7qBqOpsLvjswedb0R2yY7mOkx7M5TmWOyo9S\nozqe4Z0+iGAh2V+PEg/ivmRnjKXxsiI2xovJUjVbuUEOaHuPTRzy3MyMJP0p\nL/PESW8fU0yC9wxEIv1jVxfEF8Jxaq4uzZCLx8Y0GV/cIckvTcZkykYR21ZA\nV4mIPQVsVBVNH9xVb64uV0bJDyg70X9OVMpOslnxHrlJ0UluVt1JNip2kZv5\nv5O1ih+QFv4D0sXvICsUa8kK/g9kmP8zfjmykkhcmMxVVOEXIGWkSfUt0DcB\nmtBuPZnOzyFz+bVkMfcs8SquJ9MVGmJRVZFceoDcwGeSZwB+5VH5Jiz5uzf8\ngA8vEGeAIW4i4sJFRyzERsz4EQ7FC0YrfhOYTbKIk+SiliMmYoeu5KGHlhhJ\nJhGIA6/kXXjJbCD5JAejELIJf+fw2vM1zs19i9fy9/FnFd9ROpWPqPSqv6u3\nqn+h2ax5Vvukrka3Q2/Xbzc4DGsN72fMyjibqczsynwk8zU84Qfgzp3KXlJM\nykglqSadktcaqC4uKSNlufpgRXWZvqJCX1atqKklJf7KkNliyXQ4KoI8aTpZ\nFcC36bdvnawymak9HMBHOCmcNIWEk1XCb18KVtKa6kaurpGvqS7yFGRyak9N\nbW2oKo+zZiGTyVutdqunhprcJgZcncpWWmgvchmbG8XKQqd2IHJXa/tQY46x\nMFImFlnV5nvp5xdV/ODn9fQPNpu3tMbnDITCns6erMKqvDvyKnJD7SVFjQ3t\n5e4yX3GOavXXv554X/HIP5Yr/vbZd7FA8FSFtf5RuQz8KyBbpKhG6y5Q6nVi\nQWaB01Egugt4ZaYyOz+/MNNu0egLskQdr9srGcU5ImfiRdFhpll5vMlsejJK\nbJkql9Jc4FCQplDAHvJDWiGTOewI4ASbfdZvMpNwuBJBeShkDgOZzPawKRQS\ndoyPjzMIumsaOXDF53OrVSprls1udYM3dTRE8zi7lbp5Pqcq6BCM3kRFQbbQ\n0JSYVz/XR7/+OO11eKvLPz9Kv/GDoM7hLyyYE7x96YyZ+ZF6bTCoXTusmPuP\ng7N7KvRBLocbxYpxr634Oe74XLjzD0uiK4/P2+uSXPTJqMucaXgymlnCl+zN\n5C1bvN7ynK2qwGlM9zRpOos3Y44mP8l2CGf9wcpQDWRoqq7gfDVuWXycWoV5\ne3y2UFWjoqaag3jVmyuKbTqdvShA//X7nzzZM2uGtGjWq4fCxbN7t6+aX+vc\n+IsHog1Bg61AauMH25sKrBnBud/45NC3ExPXzAwWFyxS5ESu3/XUsp9Q5Wbc\n+1Fy08R5xUOQVTm5Rcou9hZ5wfUiquWLigxcrjKXz90rUaXFiOhMKsm0dhiJ\n0CUMCK8LCi0vGAxW3rrXoLAaDBrhgMnElW8VxYBziya5vjDWaII82DqJQ3gR\nMgv7m0JMbgTykoXIyGClV+3DMguIqdpcGKqy2U2eCs5ToIICm7H02hqIsAg8\nsUKXFbWzpzfvufbiBNlNVYcXfXfFkGvGdXNuOLBw1kNrNt1oqayjDxQWWtRK\n6+ziIvw0Yf4vaMu/WLMTZxcs8+9OnPvRi4kP777u+siCrrLMYNCQX9HaCB7c\nDOkJkF4emSb5iFbQcgZeq7UTPSSnh8/YK+mdNrvtyaid12kPaDQi2Soklwif\nxVbgCGBRsjbKi8KC3BBYXYiX9S8lUTZ7+m2q8k8pcee5spZlfb6lsTQDkqyg\nB8u8DsO1Oqs3snBhYnVQ8HXM4AfbmjwQXtBgEVs6mKRwQ61ib4RqyXJparVT\n0po7nM6QV5/p4wu9hU9GM7wkGAo+Ga2xu/gQ73RUO4x0VnV1vuqszV7Dm831\n2a4Qnz/iD5y2V0H97CGmhP4QxCMbFhZxmX35IRWKCZuymKGklmGu8+A22mMz\nX1ks6yulblVGmc+u11pLKhJLwmWCVmVKbFifuNek1Mpl96dXu4wuoXfQHmWh\n3uZuafv8idbGQochGMwsbO+mWx+kNeHP3fy5hsT4txP3paouZ8jnIf4kLI7J\nrF6WmZ9EJW+OyIt7pZwcSF6j1jwZVVvMT0YtzOosvP22wsLyfLLVEDhdZbpk\ndwEmOdmZQHgQ2eUrTZogbrkyoYe+GuggbsSYTqrptzNcFcHE9PRizn94pmP7\nM0NrGjasu392RffalqGqi1PbS+z64BViPPrc8JMrKxRzp961bv769lwF5Ll2\n4jy/D5ZXSUYlY0CAcQXKAygneoWNmVsEJTYLDMchOkYcikze4cjRFxYqcsoV\nvGKvVG6x5PA5ey0Kx4E5dmq3F4tnjcbK4rNqdRU5UJlUT+ZlsOJFsquBp0m5\nTFPa+sxhKC3qkQYrLXkcszVmahVwmmwLmbRE5jtt9uSOAoaYfp4VXTVv45bq\nTTdv3Nm64ifbZu69Ycjevriz+bpIaNXKkbvntGz85uDXTtK6vuXBWzZ2Ll8Q\nmbLmjllrDy4QchKf9i31VQ62TlvaWy2tvnvxir0LS2qomWl4C2R6K2QqknlS\nudFsgghNvDGfZvD5+Satkzh5516J8NwBPlOX72jJPyCKbt1Wh6PAzVYh+1Q/\nFT49nVrppJMJyaLGCt1wLLzHM6nUihpTcsNsUUxZavNX1tVtlaVbh13Oor8t\n0FDttwwp5yUOzI9V2z4nKbmqBXthY0RBzOEVXdDELsgxDp0sIlXk9/ipx8QH\nzxgFvGg/NvGBpGMUV0FzFcU43klRrbGjWK/38b6vSmv1I/q4flyvIHpB36W/\nV79frzTwer2zklYoKviKxyWFzVt4KOq1ipZKy35L3KKoBOIs7Lc9Pl9Zh8KS\nhZwzw5prLbciKrEKToEXHnIKlqwsTd4o1RfxVeyhWriBqqrq0lENckeR0QT8\nsuknPcBJ5p5hCfDO8NHr/IvWYUNKqgph26rs0dYlnbYfjYKVfr9XdtdFRTXV\nhV6mMPDVCDoaoT82G/MNPFwGL2+4zH3X1nDfNF7z8PyZGxrxGs1dPL9j9hLH\ntoGRkZahzRFOl+UrS/zJ8JNXK9oro2sa71H0z5h6fft9T2Q0D2+u7+m5oyrg\narpjW+LAjIbqfJshSF/mhleEW5wty6ugMSvA+x7w3k1ukqIiXsdxcfzgLn/E\n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\nclZnr5yVBTd++CEoB5urwREl+Yc3Vb4i9ufxf+mklI8ufyNxJPFu4v3E01dM\nik5NTYrifxMeVdZyf8f7W49kJhZLhk6r5S8KktbRIaguZpDA2Z/7z1bhDgJ/\ncAnsxk0x6cnwg1WVekvoW+s305nz5904pcv/vdGRxHPXTF9dSs9s+tqbC5bU\n9j/75rV9eL9LcYDDvTs+KrwBJi3t3a1zu/ytgzcsvXHF4P8CYp+62AplbmRz\ndHJlYW0KZW5kb2JqCjE3IDAgb2JqCjExNTMxCmVuZG9iagoxOCAwIG9iagoo\nTWljcm9zb2Z0IFdvcmQgLSBEb2N1bWVudDEpCmVuZG9iagoxOSAwIG9iagoo\nTWFjIE9TIFggMTAuOS4xIFF1YXJ0eiBQREZDb250ZXh0KQplbmRvYmoKMjAg\nMCBvYmoKKFdvcmQpCmVuZG9iagoyMSAwIG9iagooRDoyMDE1MDQyODA3MjQx\nNVowMCcwMCcpCmVuZG9iagoyMiAwIG9iagooKQplbmRvYmoKMjMgMCBvYmoK\nWyBdCmVuZG9iagoxIDAgb2JqCjw8IC9UaXRsZSAxOCAwIFIgL1Byb2R1Y2Vy\nIDE5IDAgUiAvQ3JlYXRvciAyMCAwIFIgL0NyZWF0aW9uRGF0ZSAyMSAwIFIg\nL01vZERhdGUKMjEgMCBSIC9LZXl3b3JkcyAyMiAwIFIgL0FBUEw6S2V5d29y\nZHMgMjMgMCBSID4+CmVuZG9iagp4cmVmCjAgMjQKMDAwMDAwMDAwMCA2NTUz\nNSBmIAowMDAwMDE2NjE2IDAwMDAwIG4gCjAwMDAwMDA2MDQgMDAwMDAgbiAK\nMDAwMDAwMzU3NyAwMDAwMCBuIAowMDAwMDAwMDIyIDAwMDAwIG4gCjAwMDAw\nMDA1ODUgMDAwMDAgbiAKMDAwMDAwMDcwOCAwMDAwMCBuIAowMDAwMDAzNTQx\nIDAwMDAwIG4gCjAwMDAwMDAwMDAgMDAwMDAgbiAKMDAwMDAwMzcxMCAwMDAw\nMCBuIAowMDAwMDAwODA1IDAwMDAwIG4gCjAwMDAwMDM1MjAgMDAwMDAgbiAK\nMDAwMDAwMzY2MCAwMDAwMCBuIAowMDAwMDA0NTMzIDAwMDAwIG4gCjAwMDAw\nMDM5OTYgMDAwMDAgbiAKMDAwMDAwNDUxMyAwMDAwMCBuIAowMDAwMDA0Nzcx\nIDAwMDAwIG4gCjAwMDAwMTYzOTMgMDAwMDAgbiAKMDAwMDAxNjQxNSAwMDAw\nMCBuIAowMDAwMDE2NDYwIDAwMDAwIG4gCjAwMDAwMTY1MTIgMDAwMDAgbiAK\nMDAwMDAxNjUzNSAwMDAwMCBuIAowMDAwMDE2NTc3IDAwMDAwIG4gCjAwMDAw\nMTY1OTYgMDAwMDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSAyNCAvUm9vdCAxMiAw\nIFIgL0luZm8gMSAwIFIgL0lEIFsgPDQ5NmQ1YmZmN2E2M2U3ZTI1ZDExMmM1\nOTVmNTZhZmI2Pgo8NDk2ZDViZmY3YTYzZTdlMjVkMTEyYzU5NWY1NmFmYjY+\nIF0gPj4Kc3RhcnR4cmVmCjE2NzYwCiUlRU9GCg==\n"}],"steps":[{"Signers":[{"name":"Name1","email":"developer@moorem.com","identification":"23434234234234"}]},{"Signers":[{"name":"Name2","email":"ankur@moorem.com","identification":"23434234234234"}]}]}'
|
11
|
+
headers:
|
12
|
+
User-Agent:
|
13
|
+
- Faraday v0.9.1
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
X-Esignatur-Id:
|
17
|
+
- 1aa6f55d-5724-e411-899d-d89d67640044
|
18
|
+
Accept-Encoding:
|
19
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
20
|
+
Accept:
|
21
|
+
- '*/*'
|
22
|
+
response:
|
23
|
+
status:
|
24
|
+
code: 200
|
25
|
+
message: OK
|
26
|
+
headers:
|
27
|
+
Cache-Control:
|
28
|
+
- private
|
29
|
+
Content-Type:
|
30
|
+
- application/json; charset=utf-8
|
31
|
+
Server:
|
32
|
+
- Microsoft-IIS/7.5
|
33
|
+
X-Aspnetmvc-Version:
|
34
|
+
- '4.0'
|
35
|
+
Access-Control-Allow-Origin:
|
36
|
+
- '*'
|
37
|
+
Access-Control-Allow-Methods:
|
38
|
+
- GET, POST, OPTIONS
|
39
|
+
Access-Control-Allow-Headers:
|
40
|
+
- X-Requested-With, Accept, Access-Control-Allow-Origin, Content-Type, X-eSignatur-Id
|
41
|
+
X-Aspnet-Version:
|
42
|
+
- 4.0.30319
|
43
|
+
X-Powered-By:
|
44
|
+
- ASP.NET
|
45
|
+
Date:
|
46
|
+
- Tue, 28 Apr 2015 07:28:45 GMT
|
47
|
+
Content-Length:
|
48
|
+
- '598'
|
49
|
+
body:
|
50
|
+
encoding: UTF-8
|
51
|
+
string: '{"OrderId":"d37a9023-82e4-42a1-8c39-ecd201db5f84","DocumentReference":"d3374788xWZWnq432353","SignerReferences":[{"StepNumber":0,"Name":"Name1","Email":"developer@moorem.com","SignUrl":"http://kreditmatch.stage.demoe1.com/esignature?id=r-ZDM3YTkwMjMtODJlNC00MmExLThjMzktZWNkMjAxZGI1Zjg0fDAwMDAwMDAxfGQxODYwZWZjLTUxZjgtNDJjMi04M2RlLWVmZDY3NjBlYjI4ZQ%3d%3d"},{"StepNumber":1,"Name":"Name2","Email":"ankur@moorem.com","SignUrl":"http://kreditmatch.stage.demoe1.com/esignature?id=r-ZDM3YTkwMjMtODJlNC00MmExLThjMzktZWNkMjAxZGI1Zjg0fDAwMDAwMDAyfGE3OTMzN2FlLTk0ZTktNGMxOC04ZDIyLTg4NzIyMjk2ZmJjOA%3d%3d"}]}'
|
52
|
+
http_version:
|
53
|
+
recorded_at: Tue, 28 Apr 2015 07:28:46 GMT
|
54
|
+
recorded_with: VCR 2.9.3
|