adf_builder 0.0.5 → 0.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 +4 -4
- data/CHANGELOG.md +26 -11
- data/Gemfile.lock +1 -1
- data/README.md +164 -7
- data/lib/adf_builder.rb +51 -5
- data/lib/adf_builder/base/prospect.rb +5 -0
- data/lib/adf_builder/data/iso-4217-currency-codes.json +1 -0
- data/lib/adf_builder/provider/provider.rb +55 -0
- data/lib/adf_builder/shared/contact.rb +25 -38
- data/lib/adf_builder/vehicles/colorcombinations.rb +31 -0
- data/lib/adf_builder/vehicles/price.rb +42 -0
- data/lib/adf_builder/vehicles/vehicles.rb +83 -36
- data/lib/adf_builder/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b644015171eb06c074f83a92dea4dc76afc3ce88a378672f5878298dff8f2ed2
|
|
4
|
+
data.tar.gz: 74c51e26810654ff1294c0b2d910c4d3a6efc68af43f5f24d9d8e0ef801a7425
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: da0a22f6aa9d1fbf0a37eefdf0d4ae51cd1802379d55031523857c04c801d67de8fb180741b1bbbcf33dd92c6868e88578707de170da851e1e60034dec0b21a4
|
|
7
|
+
data.tar.gz: e571e9fc599d480f74d2b2a6754c4aecf2bfb7a4cc672caed42c91ced09392a58502d94a3d0b4912f2b90d8aa12724635f59083ac1fdecce6e6ebddd2c5e557d
|
data/CHANGELOG.md
CHANGED
|
@@ -1,21 +1,36 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
|
-
- Vehicle Structure
|
|
3
|
-
- Remaining Optional Tags that are not free text
|
|
4
|
-
- odometer
|
|
5
|
-
- condition
|
|
6
|
-
- colorcombination
|
|
7
|
-
- imagetag
|
|
8
|
-
- price
|
|
2
|
+
- Vehicle Structure - Remaining Optional Tags that are not free text
|
|
9
3
|
- option
|
|
10
4
|
- finance
|
|
11
5
|
- Expand Structures for all parameters
|
|
12
6
|
- Customer
|
|
13
|
-
- Vehicle
|
|
14
7
|
- Contact
|
|
8
|
+
- Vehicle
|
|
9
|
+
|
|
10
|
+
## [0.1.0] - 2021-08-13
|
|
11
|
+
- Figured out versioning I think
|
|
12
|
+
- Add Price structure to vehicles
|
|
13
|
+
- Added JSON file for all 3 code currencies to validate entry
|
|
14
|
+
- Color Combinations uses function instead of giving raw array so it's
|
|
15
|
+
```ruby
|
|
16
|
+
item.color_combination(0) # new
|
|
17
|
+
item.color_combinations[0] # old
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## [0.0.8] - 2021-08-12
|
|
21
|
+
- Added all of Provider structure
|
|
22
|
+
|
|
23
|
+
## [0.0.7] - 2021-08-08
|
|
24
|
+
- Much refactoring so that we can reuse functions
|
|
25
|
+
- Added more functionality to the Vehicle structure including all free text, all same level tags with params, and Color Combination and ImageTag
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## [0.0.6] - 2021-08-08
|
|
29
|
+
- minimal_lead function will remove all previous adf nodes
|
|
30
|
+
- Created ability to reset doc
|
|
15
31
|
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
- Add Price structure
|
|
32
|
+
## [0.0.5] - 2021-08-08
|
|
33
|
+
- Fixed bug that kept us from using the library
|
|
19
34
|
|
|
20
35
|
## [0.0.4] - 2021-08-08
|
|
21
36
|
- Added Customer, Contact, Vendor basic structure
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -108,15 +108,28 @@ Outputs
|
|
|
108
108
|
</prospect>
|
|
109
109
|
</adf>
|
|
110
110
|
```
|
|
111
|
-
|
|
111
|
+
|
|
112
|
+
Vehicle with different operations
|
|
112
113
|
|
|
113
114
|
```ruby
|
|
114
115
|
builder = AdfBuilder::Builder.new
|
|
115
116
|
builder.prospect.vehicles.add(2021, 'Toyota', 'Prius', {
|
|
116
|
-
interest: :sell,
|
|
117
117
|
status: :used,
|
|
118
|
-
vin: 'XXXXXXXXXX',
|
|
119
118
|
})
|
|
119
|
+
builder.prospect.vehicles.update_tags_with_free_text(0, {
|
|
120
|
+
bodystyle: 'howdy',
|
|
121
|
+
year: '2000'
|
|
122
|
+
})
|
|
123
|
+
builder.prospect.vehicles.update_odometer(0, 9000, {
|
|
124
|
+
units: 'km'
|
|
125
|
+
})
|
|
126
|
+
builder.prospect.vehicles.update_condition(0, 'ffff')
|
|
127
|
+
builder.prospect.vehicles.update_imagetag(0, 'http://adfxml.info/adf_spec.pdf', {
|
|
128
|
+
width: 400,
|
|
129
|
+
height: 500,
|
|
130
|
+
alttext: 'Howdy'
|
|
131
|
+
})
|
|
132
|
+
puts builder.to_xml
|
|
120
133
|
```
|
|
121
134
|
|
|
122
135
|
Outputs
|
|
@@ -127,16 +140,55 @@ Outputs
|
|
|
127
140
|
<?xml version="1.0"?>
|
|
128
141
|
<adf>
|
|
129
142
|
<prospect status="new">
|
|
130
|
-
<requestdate>2021-08-
|
|
131
|
-
<
|
|
132
|
-
|
|
143
|
+
<requestdate>2021-08-09T00:53:59+04:00</requestdate>
|
|
144
|
+
<customer/>
|
|
145
|
+
<vendor/>
|
|
146
|
+
<vehicle status="used">
|
|
147
|
+
<year>2000</year>
|
|
133
148
|
<make>Toyota</make>
|
|
134
149
|
<model>Prius</model>
|
|
135
|
-
<
|
|
150
|
+
<bodystyle>howdy</bodystyle>
|
|
151
|
+
<odometer units="km">9000</odometer>
|
|
152
|
+
<imagetag width="400" height="500" alttext="Howdy">http://adfxml.info/adf_spec.pdf</imagetag>
|
|
136
153
|
</vehicle>
|
|
137
154
|
</prospect>
|
|
138
155
|
</adf>
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Color Combination
|
|
139
159
|
|
|
160
|
+
```ruby
|
|
161
|
+
builder = AdfBuilder::Builder.new
|
|
162
|
+
builder.prospect.vehicles.add(2021, 'Toyota', 'Prius', {
|
|
163
|
+
status: :used,
|
|
164
|
+
})
|
|
165
|
+
builder.prospect.vehicles.add_color_combination(0, 'black', 'yellow', 1)
|
|
166
|
+
puts builder.to_xml
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Outputs
|
|
170
|
+
|
|
171
|
+
```xml
|
|
172
|
+
<?ADF version="1.0"?>
|
|
173
|
+
|
|
174
|
+
<?xml version="1.0"?>
|
|
175
|
+
<adf>
|
|
176
|
+
<prospect status="new">
|
|
177
|
+
<requestdate>2021-08-09T00:56:07+04:00</requestdate>
|
|
178
|
+
<customer/>
|
|
179
|
+
<vendor/>
|
|
180
|
+
<vehicle status="used">
|
|
181
|
+
<year>2021</year>
|
|
182
|
+
<make>Toyota</make>
|
|
183
|
+
<model>Prius</model>
|
|
184
|
+
<colorcombination>
|
|
185
|
+
<interiorcolor>black</interiorcolor>
|
|
186
|
+
<exteriorcolor>yellow</exteriorcolor>
|
|
187
|
+
<preference>1</preference>
|
|
188
|
+
</colorcombination>
|
|
189
|
+
</vehicle>
|
|
190
|
+
</prospect>
|
|
191
|
+
</adf>
|
|
140
192
|
```
|
|
141
193
|
|
|
142
194
|
Add Vendor
|
|
@@ -199,6 +251,111 @@ Outputs
|
|
|
199
251
|
</prospect>
|
|
200
252
|
</adf>
|
|
201
253
|
```
|
|
254
|
+
A complex Provider
|
|
255
|
+
|
|
256
|
+
```ruby
|
|
257
|
+
builder = AdfBuilder::Builder.new
|
|
258
|
+
provider = builder.prospect.provider
|
|
259
|
+
provider.add('Testing', {part: 'full', type: 'business'})
|
|
260
|
+
provider.update_tags_with_free_text({
|
|
261
|
+
url: 'howdy',
|
|
262
|
+
service: "Nice"
|
|
263
|
+
})
|
|
264
|
+
provider.add_email("test@test.com", {preferredcontact: 0})
|
|
265
|
+
provider.add_phone("+14445556666", {
|
|
266
|
+
type: 'fax',
|
|
267
|
+
time: 'day'
|
|
268
|
+
})
|
|
269
|
+
provider.add_contact("Mr Sir")
|
|
270
|
+
provider.contact.add_phone("+132435523424")
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
```xml
|
|
274
|
+
<?ADF version="1.0"?>
|
|
275
|
+
|
|
276
|
+
<?xml version="1.0"?>
|
|
277
|
+
<adf>
|
|
278
|
+
<prospect status="new">
|
|
279
|
+
<requestdate>2021-08-12T18:56:41+04:00</requestdate>
|
|
280
|
+
<customer/>
|
|
281
|
+
<vendor/>
|
|
282
|
+
<provider>
|
|
283
|
+
<name part="full" type="business">Testing</name>
|
|
284
|
+
<url>howdy</url>
|
|
285
|
+
<service>Nice</service>
|
|
286
|
+
<email preferredcontact="0">test@test.com</email>
|
|
287
|
+
<phone type="fax" time="day">+14445556666</phone>
|
|
288
|
+
<contact>
|
|
289
|
+
<name>Mr Sir</name>
|
|
290
|
+
<phone>+132435523424</phone>
|
|
291
|
+
</contact>
|
|
292
|
+
</provider>
|
|
293
|
+
</prospect>
|
|
294
|
+
</adf>
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
Adding and Updating Price of Vehicle
|
|
298
|
+
```ruby
|
|
299
|
+
builder = AdfBuilder::Builder.new
|
|
300
|
+
builder.prospect.vehicles.add(2021, 'Toyota', 'Prius', {
|
|
301
|
+
status: :used,
|
|
302
|
+
})
|
|
303
|
+
|
|
304
|
+
builder.prospect.vehicles.add_price(0,23400, {
|
|
305
|
+
type: 'quote',
|
|
306
|
+
currency: 'blah',
|
|
307
|
+
source: "YES"
|
|
308
|
+
})
|
|
309
|
+
|
|
310
|
+
puts builder.to_xml
|
|
311
|
+
|
|
312
|
+
builder.prospect.vehicles.price(0).update(3444, {
|
|
313
|
+
currency: 'USD'
|
|
314
|
+
})
|
|
315
|
+
|
|
316
|
+
puts builder.to_xml
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
Outputs
|
|
320
|
+
```xml
|
|
321
|
+
<?ADF version="1.0"?>
|
|
322
|
+
|
|
323
|
+
<?xml version="1.0"?>
|
|
324
|
+
<adf>
|
|
325
|
+
<prospect status="new">
|
|
326
|
+
<requestdate>2021-08-13T13:28:50+04:00</requestdate>
|
|
327
|
+
<customer/>
|
|
328
|
+
<vendor/>
|
|
329
|
+
<vehicle status="used">
|
|
330
|
+
<year>2021</year>
|
|
331
|
+
<make>Toyota</make>
|
|
332
|
+
<model>Prius</model>
|
|
333
|
+
<price type="quote" source="YES">23400</price>
|
|
334
|
+
</vehicle>
|
|
335
|
+
</prospect>
|
|
336
|
+
</adf>
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
```xml
|
|
340
|
+
<?ADF version="1.0"?>
|
|
341
|
+
|
|
342
|
+
<?xml version="1.0"?>
|
|
343
|
+
|
|
344
|
+
<adf>
|
|
345
|
+
<prospect status="new">
|
|
346
|
+
<requestdate>2021-08-13T13:28:50+04:00</requestdate>
|
|
347
|
+
<customer/>
|
|
348
|
+
<vendor/>
|
|
349
|
+
<vehicle status="used">
|
|
350
|
+
<year>2021</year>
|
|
351
|
+
<make>Toyota</make>
|
|
352
|
+
<model>Prius</model>
|
|
353
|
+
<price type="quote" source="YES" currency="USD">3444</price>
|
|
354
|
+
</vehicle>
|
|
355
|
+
</prospect>
|
|
356
|
+
</adf>
|
|
357
|
+
```
|
|
358
|
+
|
|
202
359
|
## Development
|
|
203
360
|
|
|
204
361
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
data/lib/adf_builder.rb
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'ox'
|
|
4
|
+
require 'json'
|
|
5
|
+
|
|
4
6
|
require_relative "adf_builder/version"
|
|
5
7
|
|
|
6
8
|
# CUSTOMER
|
|
@@ -11,14 +13,19 @@ require_relative 'adf_builder/base/base'
|
|
|
11
13
|
require_relative 'adf_builder/base/prospect'
|
|
12
14
|
require_relative 'adf_builder/base/request_date'
|
|
13
15
|
|
|
16
|
+
# PROVIDER
|
|
17
|
+
require_relative 'adf_builder/provider/provider'
|
|
18
|
+
|
|
14
19
|
# SHARED
|
|
15
20
|
require_relative 'adf_builder/shared/id'
|
|
16
21
|
require_relative 'adf_builder/shared/contact'
|
|
17
22
|
|
|
18
23
|
# VEHICLES
|
|
19
24
|
require_relative 'adf_builder/vehicles/vehicles'
|
|
25
|
+
require_relative 'adf_builder/vehicles/colorcombinations'
|
|
26
|
+
require_relative 'adf_builder/vehicles/price'
|
|
20
27
|
|
|
21
|
-
#
|
|
28
|
+
# VENDOR
|
|
22
29
|
require_relative 'adf_builder/vendor/vendor'
|
|
23
30
|
|
|
24
31
|
module AdfBuilder
|
|
@@ -40,8 +47,6 @@ module AdfBuilder
|
|
|
40
47
|
|
|
41
48
|
# def an example of minimal XML taken from ADF spec file http://adfxml.info/adf_spec.pdf
|
|
42
49
|
def minimal_lead
|
|
43
|
-
adf = Ox::Element.new("adf")
|
|
44
|
-
|
|
45
50
|
prospect = Ox::Element.new("prospect")
|
|
46
51
|
|
|
47
52
|
request_date = Ox::Element.new("requestdate")
|
|
@@ -84,11 +89,15 @@ module AdfBuilder
|
|
|
84
89
|
vendor << contact
|
|
85
90
|
|
|
86
91
|
prospect << request_date << vehicle << customer << vendor
|
|
87
|
-
adf
|
|
88
|
-
@doc <<
|
|
92
|
+
@doc.remove_children_by_path("adf/prospect")
|
|
93
|
+
@doc.adf << prospect
|
|
89
94
|
Ox.dump(@doc, {})
|
|
90
95
|
end
|
|
91
96
|
|
|
97
|
+
# go back to the initial structure
|
|
98
|
+
def reset_doc
|
|
99
|
+
@doc.adf.prospect.remove_children_by_path("*")
|
|
100
|
+
end
|
|
92
101
|
|
|
93
102
|
# all the files will start with this same header
|
|
94
103
|
def init_doc
|
|
@@ -104,5 +113,42 @@ module AdfBuilder
|
|
|
104
113
|
doc << adf
|
|
105
114
|
doc
|
|
106
115
|
end
|
|
116
|
+
|
|
117
|
+
# we will either create a new node with the value or replace the one if it is available
|
|
118
|
+
def self.update_node(parent_node, key, value, params={})
|
|
119
|
+
key = key.to_s
|
|
120
|
+
value = value.to_s
|
|
121
|
+
if parent_node.locate(key).size > 0
|
|
122
|
+
node = parent_node.locate(key).first
|
|
123
|
+
node.replace_text(value)
|
|
124
|
+
else
|
|
125
|
+
node = (Ox::Element.new(key) << value)
|
|
126
|
+
parent_node << node
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
AdfBuilder::Builder.update_params(node, key, params)
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
# update the params by first checking if they are valid params and then checking if the values are valid if necessary
|
|
133
|
+
def self.update_params(node, key, params)
|
|
134
|
+
return true if params.empty?
|
|
135
|
+
key = key.to_sym
|
|
136
|
+
valid_values = params[:valid_values]
|
|
137
|
+
valid_parameters = params[:valid_parameters]
|
|
138
|
+
_params = AdfBuilder::Builder.whitelabel_params(params,valid_parameters, key)
|
|
139
|
+
_params.each do |k,v|
|
|
140
|
+
node[k] = v if valid_values[key][k] == true or valid_values[key][k].include? v.to_s
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
# clear out the opts that don't match valid keys
|
|
145
|
+
def self.whitelabel_params(opts, valid_parameters, key)
|
|
146
|
+
opts.slice(*valid_parameters[key])
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
def self.valid_child?(parent, tag_name, index)
|
|
150
|
+
child = parent.locate(tag_name)[index]
|
|
151
|
+
return !child.nil?,child
|
|
152
|
+
end
|
|
107
153
|
end
|
|
108
154
|
end
|
|
@@ -16,6 +16,7 @@ module AdfBuilder
|
|
|
16
16
|
@vehicles = Vehicles.new(@prospect)
|
|
17
17
|
@customer = Customer.new(@prospect)
|
|
18
18
|
@vendor = Vendor.new(@prospect)
|
|
19
|
+
@provider = Provider.new(@prospect)
|
|
19
20
|
end
|
|
20
21
|
|
|
21
22
|
def request_date
|
|
@@ -34,6 +35,10 @@ module AdfBuilder
|
|
|
34
35
|
@vendor
|
|
35
36
|
end
|
|
36
37
|
|
|
38
|
+
def provider
|
|
39
|
+
@provider
|
|
40
|
+
end
|
|
41
|
+
|
|
37
42
|
# set status to renew
|
|
38
43
|
def set_renew
|
|
39
44
|
@prospect[:status] = STATUSES[:resend]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"Alphabetic_Code": "AFN", "Currency": "Afghani", "Entity": "AFGHANISTAN", "Minor_Unit": 2, "Numeric_Code": "971", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "\u00c5LAND ISLANDS", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ALL", "Currency": "Lek", "Entity": "ALBANIA", "Minor_Unit": 2, "Numeric_Code": "008", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "DZD", "Currency": "Algerian Dinar", "Entity": "ALGERIA", "Minor_Unit": 2, "Numeric_Code": "012", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "AMERICAN SAMOA", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "ANDORRA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AOA", "Currency": "Kwanza", "Entity": "ANGOLA", "Minor_Unit": 2, "Numeric_Code": "973", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XCD", "Currency": "East Caribbean Dollar", "Entity": "ANGUILLA", "Minor_Unit": 2, "Numeric_Code": "951", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": null, "Currency": "No universal currency", "Entity": "ANTARCTICA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XCD", "Currency": "East Caribbean Dollar", "Entity": "ANTIGUA AND BARBUDA", "Minor_Unit": 2, "Numeric_Code": "951", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ARS", "Currency": "Argentine Peso", "Entity": "ARGENTINA", "Minor_Unit": 2, "Numeric_Code": "032", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AMD", "Currency": "Armenian Dram", "Entity": "ARMENIA", "Minor_Unit": 2, "Numeric_Code": "051", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AWG", "Currency": "Aruban Florin", "Entity": "ARUBA", "Minor_Unit": 2, "Numeric_Code": "533", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AUD", "Currency": "Australian Dollar", "Entity": "AUSTRALIA", "Minor_Unit": 2, "Numeric_Code": "036", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "AUSTRIA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AZN", "Currency": "Azerbaijan Manat", "Entity": "AZERBAIJAN", "Minor_Unit": 2, "Numeric_Code": "944", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BSD", "Currency": "Bahamian Dollar", "Entity": "BAHAMAS (THE)", "Minor_Unit": 2, "Numeric_Code": "044", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BHD", "Currency": "Bahraini Dinar", "Entity": "BAHRAIN", "Minor_Unit": 3, "Numeric_Code": "048", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BDT", "Currency": "Taka", "Entity": "BANGLADESH", "Minor_Unit": 2, "Numeric_Code": "050", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BBD", "Currency": "Barbados Dollar", "Entity": "BARBADOS", "Minor_Unit": 2, "Numeric_Code": "052", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BYN", "Currency": "Belarusian Ruble", "Entity": "BELARUS", "Minor_Unit": 2, "Numeric_Code": "933", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "BELGIUM", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BZD", "Currency": "Belize Dollar", "Entity": "BELIZE", "Minor_Unit": 2, "Numeric_Code": "084", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XOF", "Currency": "CFA Franc BCEAO", "Entity": "BENIN", "Minor_Unit": 0, "Numeric_Code": "952", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BMD", "Currency": "Bermudian Dollar", "Entity": "BERMUDA", "Minor_Unit": 2, "Numeric_Code": "060", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "INR", "Currency": "Indian Rupee", "Entity": "BHUTAN", "Minor_Unit": 2, "Numeric_Code": "356", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BTN", "Currency": "Ngultrum", "Entity": "BHUTAN", "Minor_Unit": 2, "Numeric_Code": "064", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BOB", "Currency": "Boliviano", "Entity": "BOLIVIA (PLURINATIONAL STATE OF)", "Minor_Unit": 2, "Numeric_Code": "068", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BOV", "Currency": "Mvdol", "Entity": "BOLIVIA (PLURINATIONAL STATE OF)", "Minor_Unit": 2, "Numeric_Code": "984", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "BONAIRE, SINT EUSTATIUS AND SABA", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BAM", "Currency": "Convertible Mark", "Entity": "BOSNIA AND HERZEGOVINA", "Minor_Unit": 2, "Numeric_Code": "977", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BWP", "Currency": "Pula", "Entity": "BOTSWANA", "Minor_Unit": 2, "Numeric_Code": "072", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NOK", "Currency": "Norwegian Krone", "Entity": "BOUVET ISLAND", "Minor_Unit": 2, "Numeric_Code": "578", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BRL", "Currency": "Brazilian Real", "Entity": "BRAZIL", "Minor_Unit": 2, "Numeric_Code": "986", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "BRITISH INDIAN OCEAN TERRITORY (THE)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BND", "Currency": "Brunei Dollar", "Entity": "BRUNEI DARUSSALAM", "Minor_Unit": 2, "Numeric_Code": "096", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BGN", "Currency": "Bulgarian Lev", "Entity": "BULGARIA", "Minor_Unit": 2, "Numeric_Code": "975", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XOF", "Currency": "CFA Franc BCEAO", "Entity": "BURKINA FASO", "Minor_Unit": 0, "Numeric_Code": "952", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BIF", "Currency": "Burundi Franc", "Entity": "BURUNDI", "Minor_Unit": 0, "Numeric_Code": "108", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CVE", "Currency": "Cabo Verde Escudo", "Entity": "CABO VERDE", "Minor_Unit": 2, "Numeric_Code": "132", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KHR", "Currency": "Riel", "Entity": "CAMBODIA", "Minor_Unit": 2, "Numeric_Code": "116", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XAF", "Currency": "CFA Franc BEAC", "Entity": "CAMEROON", "Minor_Unit": 0, "Numeric_Code": "950", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CAD", "Currency": "Canadian Dollar", "Entity": "CANADA", "Minor_Unit": 2, "Numeric_Code": "124", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KYD", "Currency": "Cayman Islands Dollar", "Entity": "CAYMAN ISLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "136", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XAF", "Currency": "CFA Franc BEAC", "Entity": "CENTRAL AFRICAN REPUBLIC (THE)", "Minor_Unit": 0, "Numeric_Code": "950", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XAF", "Currency": "CFA Franc BEAC", "Entity": "CHAD", "Minor_Unit": 0, "Numeric_Code": "950", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CLP", "Currency": "Chilean Peso", "Entity": "CHILE", "Minor_Unit": 0, "Numeric_Code": "152", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CLF", "Currency": "Unidad de Fomento", "Entity": "CHILE", "Minor_Unit": 4, "Numeric_Code": "990", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CNY", "Currency": "Yuan Renminbi", "Entity": "CHINA", "Minor_Unit": 2, "Numeric_Code": "156", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AUD", "Currency": "Australian Dollar", "Entity": "CHRISTMAS ISLAND", "Minor_Unit": 2, "Numeric_Code": "036", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AUD", "Currency": "Australian Dollar", "Entity": "COCOS (KEELING) ISLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "036", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "COP", "Currency": "Colombian Peso", "Entity": "COLOMBIA", "Minor_Unit": 2, "Numeric_Code": "170", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "COU", "Currency": "Unidad de Valor Real", "Entity": "COLOMBIA", "Minor_Unit": 2, "Numeric_Code": "970", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KMF", "Currency": "Comorian Franc", "Entity": "COMOROS (THE)", "Minor_Unit": 0, "Numeric_Code": "174", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CDF", "Currency": "Congolese Franc", "Entity": "CONGO (THE DEMOCRATIC REPUBLIC OF THE)", "Minor_Unit": 2, "Numeric_Code": "976", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XAF", "Currency": "CFA Franc BEAC", "Entity": "CONGO (THE)", "Minor_Unit": 0, "Numeric_Code": "950", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NZD", "Currency": "New Zealand Dollar", "Entity": "COOK ISLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "554", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CRC", "Currency": "Costa Rican Colon", "Entity": "COSTA RICA", "Minor_Unit": 2, "Numeric_Code": "188", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XOF", "Currency": "CFA Franc BCEAO", "Entity": "C\u00d4TE D'IVOIRE", "Minor_Unit": 0, "Numeric_Code": "952", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "HRK", "Currency": "Kuna", "Entity": "CROATIA", "Minor_Unit": 2, "Numeric_Code": "191", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CUP", "Currency": "Cuban Peso", "Entity": "CUBA", "Minor_Unit": 2, "Numeric_Code": "192", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CUC", "Currency": "Peso Convertible", "Entity": "CUBA", "Minor_Unit": 2, "Numeric_Code": "931", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ANG", "Currency": "Netherlands Antillean Guilder", "Entity": "CURA\u00c7AO", "Minor_Unit": 2, "Numeric_Code": "532", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "CYPRUS", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CZK", "Currency": "Czech Koruna", "Entity": "CZECHIA", "Minor_Unit": 2, "Numeric_Code": "203", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "DKK", "Currency": "Danish Krone", "Entity": "DENMARK", "Minor_Unit": 2, "Numeric_Code": "208", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "DJF", "Currency": "Djibouti Franc", "Entity": "DJIBOUTI", "Minor_Unit": 0, "Numeric_Code": "262", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XCD", "Currency": "East Caribbean Dollar", "Entity": "DOMINICA", "Minor_Unit": 2, "Numeric_Code": "951", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "DOP", "Currency": "Dominican Peso", "Entity": "DOMINICAN REPUBLIC (THE)", "Minor_Unit": 2, "Numeric_Code": "214", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "ECUADOR", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EGP", "Currency": "Egyptian Pound", "Entity": "EGYPT", "Minor_Unit": 2, "Numeric_Code": "818", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SVC", "Currency": "El Salvador Colon", "Entity": "EL SALVADOR", "Minor_Unit": 2, "Numeric_Code": "222", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "EL SALVADOR", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XAF", "Currency": "CFA Franc BEAC", "Entity": "EQUATORIAL GUINEA", "Minor_Unit": 0, "Numeric_Code": "950", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ERN", "Currency": "Nakfa", "Entity": "ERITREA", "Minor_Unit": 2, "Numeric_Code": "232", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "ESTONIA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ETB", "Currency": "Ethiopian Birr", "Entity": "ETHIOPIA", "Minor_Unit": 2, "Numeric_Code": "230", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "EUROPEAN UNION", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "FKP", "Currency": "Falkland Islands Pound", "Entity": "FALKLAND ISLANDS (THE) [MALVINAS]", "Minor_Unit": 2, "Numeric_Code": "238", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "DKK", "Currency": "Danish Krone", "Entity": "FAROE ISLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "208", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "FJD", "Currency": "Fiji Dollar", "Entity": "FIJI", "Minor_Unit": 2, "Numeric_Code": "242", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "FINLAND", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "FRANCE", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "FRENCH GUIANA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XPF", "Currency": "CFP Franc", "Entity": "FRENCH POLYNESIA", "Minor_Unit": 0, "Numeric_Code": "953", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "FRENCH SOUTHERN TERRITORIES (THE)", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XAF", "Currency": "CFA Franc BEAC", "Entity": "GABON", "Minor_Unit": 0, "Numeric_Code": "950", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GMD", "Currency": "Dalasi", "Entity": "GAMBIA (THE)", "Minor_Unit": 2, "Numeric_Code": "270", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GEL", "Currency": "Lari", "Entity": "GEORGIA", "Minor_Unit": 2, "Numeric_Code": "981", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "GERMANY", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GHS", "Currency": "Ghana Cedi", "Entity": "GHANA", "Minor_Unit": 2, "Numeric_Code": "936", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GIP", "Currency": "Gibraltar Pound", "Entity": "GIBRALTAR", "Minor_Unit": 2, "Numeric_Code": "292", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "GREECE", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "DKK", "Currency": "Danish Krone", "Entity": "GREENLAND", "Minor_Unit": 2, "Numeric_Code": "208", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XCD", "Currency": "East Caribbean Dollar", "Entity": "GRENADA", "Minor_Unit": 2, "Numeric_Code": "951", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "GUADELOUPE", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "GUAM", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GTQ", "Currency": "Quetzal", "Entity": "GUATEMALA", "Minor_Unit": 2, "Numeric_Code": "320", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GBP", "Currency": "Pound Sterling", "Entity": "GUERNSEY", "Minor_Unit": 2, "Numeric_Code": "826", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GNF", "Currency": "Guinean Franc", "Entity": "GUINEA", "Minor_Unit": 0, "Numeric_Code": "324", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XOF", "Currency": "CFA Franc BCEAO", "Entity": "GUINEA-BISSAU", "Minor_Unit": 0, "Numeric_Code": "952", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GYD", "Currency": "Guyana Dollar", "Entity": "GUYANA", "Minor_Unit": 2, "Numeric_Code": "328", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "HTG", "Currency": "Gourde", "Entity": "HAITI", "Minor_Unit": 2, "Numeric_Code": "332", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "HAITI", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AUD", "Currency": "Australian Dollar", "Entity": "HEARD ISLAND AND McDONALD ISLANDS", "Minor_Unit": 2, "Numeric_Code": "036", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "HOLY SEE (THE)", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "HNL", "Currency": "Lempira", "Entity": "HONDURAS", "Minor_Unit": 2, "Numeric_Code": "340", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "HKD", "Currency": "Hong Kong Dollar", "Entity": "HONG KONG", "Minor_Unit": 2, "Numeric_Code": "344", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "HUF", "Currency": "Forint", "Entity": "HUNGARY", "Minor_Unit": 2, "Numeric_Code": "348", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ISK", "Currency": "Iceland Krona", "Entity": "ICELAND", "Minor_Unit": 0, "Numeric_Code": "352", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "INR", "Currency": "Indian Rupee", "Entity": "INDIA", "Minor_Unit": 2, "Numeric_Code": "356", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "IDR", "Currency": "Rupiah", "Entity": "INDONESIA", "Minor_Unit": 2, "Numeric_Code": "360", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XDR", "Currency": "SDR (Special Drawing Right)", "Entity": "INTERNATIONAL MONETARY FUND (IMF)", "Minor_Unit": null, "Numeric_Code": "960", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "IRR", "Currency": "Iranian Rial", "Entity": "IRAN (ISLAMIC REPUBLIC OF)", "Minor_Unit": 2, "Numeric_Code": "364", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "IQD", "Currency": "Iraqi Dinar", "Entity": "IRAQ", "Minor_Unit": 3, "Numeric_Code": "368", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "IRELAND", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GBP", "Currency": "Pound Sterling", "Entity": "ISLE OF MAN", "Minor_Unit": 2, "Numeric_Code": "826", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ILS", "Currency": "New Israeli Sheqel", "Entity": "ISRAEL", "Minor_Unit": 2, "Numeric_Code": "376", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "ITALY", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "JMD", "Currency": "Jamaican Dollar", "Entity": "JAMAICA", "Minor_Unit": 2, "Numeric_Code": "388", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "JPY", "Currency": "Yen", "Entity": "JAPAN", "Minor_Unit": 0, "Numeric_Code": "392", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GBP", "Currency": "Pound Sterling", "Entity": "JERSEY", "Minor_Unit": 2, "Numeric_Code": "826", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "JOD", "Currency": "Jordanian Dinar", "Entity": "JORDAN", "Minor_Unit": 3, "Numeric_Code": "400", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KZT", "Currency": "Tenge", "Entity": "KAZAKHSTAN", "Minor_Unit": 2, "Numeric_Code": "398", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KES", "Currency": "Kenyan Shilling", "Entity": "KENYA", "Minor_Unit": 2, "Numeric_Code": "404", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AUD", "Currency": "Australian Dollar", "Entity": "KIRIBATI", "Minor_Unit": 2, "Numeric_Code": "036", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KPW", "Currency": "North Korean Won", "Entity": "KOREA (THE DEMOCRATIC PEOPLE\u2019S REPUBLIC OF)", "Minor_Unit": 2, "Numeric_Code": "408", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KRW", "Currency": "Won", "Entity": "KOREA (THE REPUBLIC OF)", "Minor_Unit": 0, "Numeric_Code": "410", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KWD", "Currency": "Kuwaiti Dinar", "Entity": "KUWAIT", "Minor_Unit": 3, "Numeric_Code": "414", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KGS", "Currency": "Som", "Entity": "KYRGYZSTAN", "Minor_Unit": 2, "Numeric_Code": "417", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "LAK", "Currency": "Lao Kip", "Entity": "LAO PEOPLE\u2019S DEMOCRATIC REPUBLIC (THE)", "Minor_Unit": 2, "Numeric_Code": "418", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "LATVIA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "LBP", "Currency": "Lebanese Pound", "Entity": "LEBANON", "Minor_Unit": 2, "Numeric_Code": "422", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "LSL", "Currency": "Loti", "Entity": "LESOTHO", "Minor_Unit": 2, "Numeric_Code": "426", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ZAR", "Currency": "Rand", "Entity": "LESOTHO", "Minor_Unit": 2, "Numeric_Code": "710", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "LRD", "Currency": "Liberian Dollar", "Entity": "LIBERIA", "Minor_Unit": 2, "Numeric_Code": "430", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "LYD", "Currency": "Libyan Dinar", "Entity": "LIBYA", "Minor_Unit": 3, "Numeric_Code": "434", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CHF", "Currency": "Swiss Franc", "Entity": "LIECHTENSTEIN", "Minor_Unit": 2, "Numeric_Code": "756", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "LITHUANIA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "LUXEMBOURG", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MOP", "Currency": "Pataca", "Entity": "MACAO", "Minor_Unit": 2, "Numeric_Code": "446", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MKD", "Currency": "Denar", "Entity": "MACEDONIA (THE FORMER YUGOSLAV REPUBLIC OF)", "Minor_Unit": 2, "Numeric_Code": "807", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MGA", "Currency": "Malagasy Ariary", "Entity": "MADAGASCAR", "Minor_Unit": 2, "Numeric_Code": "969", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MWK", "Currency": "Malawi Kwacha", "Entity": "MALAWI", "Minor_Unit": 2, "Numeric_Code": "454", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MYR", "Currency": "Malaysian Ringgit", "Entity": "MALAYSIA", "Minor_Unit": 2, "Numeric_Code": "458", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MVR", "Currency": "Rufiyaa", "Entity": "MALDIVES", "Minor_Unit": 2, "Numeric_Code": "462", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XOF", "Currency": "CFA Franc BCEAO", "Entity": "MALI", "Minor_Unit": 0, "Numeric_Code": "952", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "MALTA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "MARSHALL ISLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "MARTINIQUE", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MRO", "Currency": "Ouguiya", "Entity": "MAURITANIA", "Minor_Unit": 2, "Numeric_Code": "478", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MUR", "Currency": "Mauritius Rupee", "Entity": "MAURITIUS", "Minor_Unit": 2, "Numeric_Code": "480", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "MAYOTTE", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XUA", "Currency": "ADB Unit of Account", "Entity": "MEMBER COUNTRIES OF THE AFRICAN DEVELOPMENT BANK GROUP", "Minor_Unit": null, "Numeric_Code": "965", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MXN", "Currency": "Mexican Peso", "Entity": "MEXICO", "Minor_Unit": 2, "Numeric_Code": "484", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MXV", "Currency": "Mexican Unidad de Inversion (UDI)", "Entity": "MEXICO", "Minor_Unit": 2, "Numeric_Code": "979", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "MICRONESIA (FEDERATED STATES OF)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MDL", "Currency": "Moldovan Leu", "Entity": "MOLDOVA (THE REPUBLIC OF)", "Minor_Unit": 2, "Numeric_Code": "498", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "MONACO", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MNT", "Currency": "Tugrik", "Entity": "MONGOLIA", "Minor_Unit": 2, "Numeric_Code": "496", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "MONTENEGRO", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XCD", "Currency": "East Caribbean Dollar", "Entity": "MONTSERRAT", "Minor_Unit": 2, "Numeric_Code": "951", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MAD", "Currency": "Moroccan Dirham", "Entity": "MOROCCO", "Minor_Unit": 2, "Numeric_Code": "504", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MZN", "Currency": "Mozambique Metical", "Entity": "MOZAMBIQUE", "Minor_Unit": 2, "Numeric_Code": "943", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MMK", "Currency": "Kyat", "Entity": "MYANMAR", "Minor_Unit": 2, "Numeric_Code": "104", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NAD", "Currency": "Namibia Dollar", "Entity": "NAMIBIA", "Minor_Unit": 2, "Numeric_Code": "516", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ZAR", "Currency": "Rand", "Entity": "NAMIBIA", "Minor_Unit": 2, "Numeric_Code": "710", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AUD", "Currency": "Australian Dollar", "Entity": "NAURU", "Minor_Unit": 2, "Numeric_Code": "036", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NPR", "Currency": "Nepalese Rupee", "Entity": "NEPAL", "Minor_Unit": 2, "Numeric_Code": "524", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "NETHERLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XPF", "Currency": "CFP Franc", "Entity": "NEW CALEDONIA", "Minor_Unit": 0, "Numeric_Code": "953", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NZD", "Currency": "New Zealand Dollar", "Entity": "NEW ZEALAND", "Minor_Unit": 2, "Numeric_Code": "554", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NIO", "Currency": "Cordoba Oro", "Entity": "NICARAGUA", "Minor_Unit": 2, "Numeric_Code": "558", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XOF", "Currency": "CFA Franc BCEAO", "Entity": "NIGER (THE)", "Minor_Unit": 0, "Numeric_Code": "952", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NGN", "Currency": "Naira", "Entity": "NIGERIA", "Minor_Unit": 2, "Numeric_Code": "566", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NZD", "Currency": "New Zealand Dollar", "Entity": "NIUE", "Minor_Unit": 2, "Numeric_Code": "554", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AUD", "Currency": "Australian Dollar", "Entity": "NORFOLK ISLAND", "Minor_Unit": 2, "Numeric_Code": "036", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "NORTHERN MARIANA ISLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NOK", "Currency": "Norwegian Krone", "Entity": "NORWAY", "Minor_Unit": 2, "Numeric_Code": "578", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "OMR", "Currency": "Rial Omani", "Entity": "OMAN", "Minor_Unit": 3, "Numeric_Code": "512", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "PKR", "Currency": "Pakistan Rupee", "Entity": "PAKISTAN", "Minor_Unit": 2, "Numeric_Code": "586", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "PALAU", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": null, "Currency": "No universal currency", "Entity": "PALESTINE, STATE OF", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "PAB", "Currency": "Balboa", "Entity": "PANAMA", "Minor_Unit": 2, "Numeric_Code": "590", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "PANAMA", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "PGK", "Currency": "Kina", "Entity": "PAPUA NEW GUINEA", "Minor_Unit": 2, "Numeric_Code": "598", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "PYG", "Currency": "Guarani", "Entity": "PARAGUAY", "Minor_Unit": 0, "Numeric_Code": "600", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "PEN", "Currency": "Sol", "Entity": "PERU", "Minor_Unit": 2, "Numeric_Code": "604", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "PHP", "Currency": "Philippine Piso", "Entity": "PHILIPPINES (THE)", "Minor_Unit": 2, "Numeric_Code": "608", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NZD", "Currency": "New Zealand Dollar", "Entity": "PITCAIRN", "Minor_Unit": 2, "Numeric_Code": "554", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "PLN", "Currency": "Zloty", "Entity": "POLAND", "Minor_Unit": 2, "Numeric_Code": "985", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "PORTUGAL", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "PUERTO RICO", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "QAR", "Currency": "Qatari Rial", "Entity": "QATAR", "Minor_Unit": 2, "Numeric_Code": "634", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "R\u00c9UNION", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "RON", "Currency": "Romanian Leu", "Entity": "ROMANIA", "Minor_Unit": 2, "Numeric_Code": "946", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "RUB", "Currency": "Russian Ruble", "Entity": "RUSSIAN FEDERATION (THE)", "Minor_Unit": 2, "Numeric_Code": "643", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "RWF", "Currency": "Rwanda Franc", "Entity": "RWANDA", "Minor_Unit": 0, "Numeric_Code": "646", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "SAINT BARTH\u00c9LEMY", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SHP", "Currency": "Saint Helena Pound", "Entity": "SAINT HELENA, ASCENSION AND TRISTAN DA CUNHA", "Minor_Unit": 2, "Numeric_Code": "654", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XCD", "Currency": "East Caribbean Dollar", "Entity": "SAINT KITTS AND NEVIS", "Minor_Unit": 2, "Numeric_Code": "951", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XCD", "Currency": "East Caribbean Dollar", "Entity": "SAINT LUCIA", "Minor_Unit": 2, "Numeric_Code": "951", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "SAINT MARTIN (FRENCH PART)", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "SAINT PIERRE AND MIQUELON", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XCD", "Currency": "East Caribbean Dollar", "Entity": "SAINT VINCENT AND THE GRENADINES", "Minor_Unit": 2, "Numeric_Code": "951", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "WST", "Currency": "Tala", "Entity": "SAMOA", "Minor_Unit": 2, "Numeric_Code": "882", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "SAN MARINO", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "STD", "Currency": "Dobra", "Entity": "SAO TOME AND PRINCIPE", "Minor_Unit": 2, "Numeric_Code": "678", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SAR", "Currency": "Saudi Riyal", "Entity": "SAUDI ARABIA", "Minor_Unit": 2, "Numeric_Code": "682", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XOF", "Currency": "CFA Franc BCEAO", "Entity": "SENEGAL", "Minor_Unit": 0, "Numeric_Code": "952", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "RSD", "Currency": "Serbian Dinar", "Entity": "SERBIA", "Minor_Unit": 2, "Numeric_Code": "941", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SCR", "Currency": "Seychelles Rupee", "Entity": "SEYCHELLES", "Minor_Unit": 2, "Numeric_Code": "690", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SLL", "Currency": "Leone", "Entity": "SIERRA LEONE", "Minor_Unit": 2, "Numeric_Code": "694", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SGD", "Currency": "Singapore Dollar", "Entity": "SINGAPORE", "Minor_Unit": 2, "Numeric_Code": "702", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ANG", "Currency": "Netherlands Antillean Guilder", "Entity": "SINT MAARTEN (DUTCH PART)", "Minor_Unit": 2, "Numeric_Code": "532", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XSU", "Currency": "Sucre", "Entity": "SISTEMA UNITARIO DE COMPENSACION REGIONAL DE PAGOS \"SUCRE\"", "Minor_Unit": null, "Numeric_Code": "994", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "SLOVAKIA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "SLOVENIA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SBD", "Currency": "Solomon Islands Dollar", "Entity": "SOLOMON ISLANDS", "Minor_Unit": 2, "Numeric_Code": "090", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SOS", "Currency": "Somali Shilling", "Entity": "SOMALIA", "Minor_Unit": 2, "Numeric_Code": "706", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ZAR", "Currency": "Rand", "Entity": "SOUTH AFRICA", "Minor_Unit": 2, "Numeric_Code": "710", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": null, "Currency": "No universal currency", "Entity": "SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SSP", "Currency": "South Sudanese Pound", "Entity": "SOUTH SUDAN", "Minor_Unit": 2, "Numeric_Code": "728", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "SPAIN", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "LKR", "Currency": "Sri Lanka Rupee", "Entity": "SRI LANKA", "Minor_Unit": 2, "Numeric_Code": "144", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SDG", "Currency": "Sudanese Pound", "Entity": "SUDAN (THE)", "Minor_Unit": 2, "Numeric_Code": "938", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SRD", "Currency": "Surinam Dollar", "Entity": "SURINAME", "Minor_Unit": 2, "Numeric_Code": "968", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NOK", "Currency": "Norwegian Krone", "Entity": "SVALBARD AND JAN MAYEN", "Minor_Unit": 2, "Numeric_Code": "578", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SZL", "Currency": "Lilangeni", "Entity": "SWAZILAND", "Minor_Unit": 2, "Numeric_Code": "748", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SEK", "Currency": "Swedish Krona", "Entity": "SWEDEN", "Minor_Unit": 2, "Numeric_Code": "752", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CHF", "Currency": "Swiss Franc", "Entity": "SWITZERLAND", "Minor_Unit": 2, "Numeric_Code": "756", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CHE", "Currency": "WIR Euro", "Entity": "SWITZERLAND", "Minor_Unit": 2, "Numeric_Code": "947", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CHW", "Currency": "WIR Franc", "Entity": "SWITZERLAND", "Minor_Unit": 2, "Numeric_Code": "948", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SYP", "Currency": "Syrian Pound", "Entity": "SYRIAN ARAB REPUBLIC", "Minor_Unit": 2, "Numeric_Code": "760", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "TWD", "Currency": "New Taiwan Dollar", "Entity": "TAIWAN (PROVINCE OF CHINA)", "Minor_Unit": 2, "Numeric_Code": "901", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "TJS", "Currency": "Somoni", "Entity": "TAJIKISTAN", "Minor_Unit": 2, "Numeric_Code": "972", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "TZS", "Currency": "Tanzanian Shilling", "Entity": "TANZANIA, UNITED REPUBLIC OF", "Minor_Unit": 2, "Numeric_Code": "834", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "THB", "Currency": "Baht", "Entity": "THAILAND", "Minor_Unit": 2, "Numeric_Code": "764", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "TIMOR-LESTE", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XOF", "Currency": "CFA Franc BCEAO", "Entity": "TOGO", "Minor_Unit": 0, "Numeric_Code": "952", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NZD", "Currency": "New Zealand Dollar", "Entity": "TOKELAU", "Minor_Unit": 2, "Numeric_Code": "554", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "TOP", "Currency": "Pa\u2019anga", "Entity": "TONGA", "Minor_Unit": 2, "Numeric_Code": "776", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "TTD", "Currency": "Trinidad and Tobago Dollar", "Entity": "TRINIDAD AND TOBAGO", "Minor_Unit": 2, "Numeric_Code": "780", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "TND", "Currency": "Tunisian Dinar", "Entity": "TUNISIA", "Minor_Unit": 3, "Numeric_Code": "788", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "TRY", "Currency": "Turkish Lira", "Entity": "TURKEY", "Minor_Unit": 2, "Numeric_Code": "949", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "TMT", "Currency": "Turkmenistan New Manat", "Entity": "TURKMENISTAN", "Minor_Unit": 2, "Numeric_Code": "934", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "TURKS AND CAICOS ISLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AUD", "Currency": "Australian Dollar", "Entity": "TUVALU", "Minor_Unit": 2, "Numeric_Code": "036", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "UGX", "Currency": "Uganda Shilling", "Entity": "UGANDA", "Minor_Unit": 0, "Numeric_Code": "800", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "UAH", "Currency": "Hryvnia", "Entity": "UKRAINE", "Minor_Unit": 2, "Numeric_Code": "980", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AED", "Currency": "UAE Dirham", "Entity": "UNITED ARAB EMIRATES (THE)", "Minor_Unit": 2, "Numeric_Code": "784", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GBP", "Currency": "Pound Sterling", "Entity": "UNITED KINGDOM OF GREAT BRITAIN AND NORTHERN IRELAND (THE)", "Minor_Unit": 2, "Numeric_Code": "826", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "UNITED STATES MINOR OUTLYING ISLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "UNITED STATES OF AMERICA (THE)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USN", "Currency": "US Dollar (Next day)", "Entity": "UNITED STATES OF AMERICA (THE)", "Minor_Unit": 2, "Numeric_Code": "997", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "UYU", "Currency": "Peso Uruguayo", "Entity": "URUGUAY", "Minor_Unit": 2, "Numeric_Code": "858", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "UYI", "Currency": "Uruguay Peso en Unidades Indexadas (URUIURUI)", "Entity": "URUGUAY", "Minor_Unit": 0, "Numeric_Code": "940", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "UZS", "Currency": "Uzbekistan Sum", "Entity": "UZBEKISTAN", "Minor_Unit": 2, "Numeric_Code": "860", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "VUV", "Currency": "Vatu", "Entity": "VANUATU", "Minor_Unit": 0, "Numeric_Code": "548", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "VEF", "Currency": "Bol\u00edvar", "Entity": "VENEZUELA (BOLIVARIAN REPUBLIC OF)", "Minor_Unit": 2, "Numeric_Code": "937", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "VND", "Currency": "Dong", "Entity": "VIET NAM", "Minor_Unit": 0, "Numeric_Code": "704", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "VIRGIN ISLANDS (BRITISH)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "VIRGIN ISLANDS (U.S.)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XPF", "Currency": "CFP Franc", "Entity": "WALLIS AND FUTUNA", "Minor_Unit": 0, "Numeric_Code": "953", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MAD", "Currency": "Moroccan Dirham", "Entity": "WESTERN SAHARA", "Minor_Unit": 2, "Numeric_Code": "504", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "YER", "Currency": "Yemeni Rial", "Entity": "YEMEN", "Minor_Unit": 2, "Numeric_Code": "886", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ZMW", "Currency": "Zambian Kwacha", "Entity": "ZAMBIA", "Minor_Unit": 2, "Numeric_Code": "967", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ZWL", "Currency": "Zimbabwe Dollar", "Entity": "ZIMBABWE", "Minor_Unit": 2, "Numeric_Code": "932", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XBA", "Currency": "Bond Markets Unit European Composite Unit (EURCO)", "Entity": "ZZ01_Bond Markets Unit European_EURCO", "Minor_Unit": null, "Numeric_Code": "955", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XBB", "Currency": "Bond Markets Unit European Monetary Unit (E.M.U.-6)", "Entity": "ZZ02_Bond Markets Unit European_EMU-6", "Minor_Unit": null, "Numeric_Code": "956", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XBC", "Currency": "Bond Markets Unit European Unit of Account 9 (E.U.A.-9)", "Entity": "ZZ03_Bond Markets Unit European_EUA-9", "Minor_Unit": null, "Numeric_Code": "957", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XBD", "Currency": "Bond Markets Unit European Unit of Account 17 (E.U.A.-17)", "Entity": "ZZ04_Bond Markets Unit European_EUA-17", "Minor_Unit": null, "Numeric_Code": "958", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XTS", "Currency": "Codes specifically reserved for testing purposes", "Entity": "ZZ06_Testing_Code", "Minor_Unit": null, "Numeric_Code": "963", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XXX", "Currency": "The codes assigned for transactions where no currency is involved", "Entity": "ZZ07_No_Currency", "Minor_Unit": null, "Numeric_Code": "999", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XAU", "Currency": "Gold", "Entity": "ZZ08_Gold", "Minor_Unit": null, "Numeric_Code": "959", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XPD", "Currency": "Palladium", "Entity": "ZZ09_Palladium", "Minor_Unit": null, "Numeric_Code": "964", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XPT", "Currency": "Platinum", "Entity": "ZZ10_Platinum", "Minor_Unit": null, "Numeric_Code": "962", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XAG", "Currency": "Silver", "Entity": "ZZ11_Silver", "Minor_Unit": null, "Numeric_Code": "961", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AFA", "Currency": "Afghani", "Entity": "AFGHANISTAN", "Minor_Unit": null, "Numeric_Code": "4", "Withdrawal_Date": "2003-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FIM", "Currency": "Markka", "Entity": "\u00c3\u2026LAND ISLANDS", "Minor_Unit": null, "Numeric_Code": "246", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ALK", "Currency": "Old Lek", "Entity": "ALBANIA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1989-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ADP", "Currency": "Andorran Peseta", "Entity": "ANDORRA", "Minor_Unit": null, "Numeric_Code": "20", "Withdrawal_Date": "2003-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ESP", "Currency": "Spanish Peseta", "Entity": "ANDORRA", "Minor_Unit": null, "Numeric_Code": "724", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "ANDORRA", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "AOK", "Currency": "Kwanza", "Entity": "ANGOLA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1991-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "AON", "Currency": "New Kwanza", "Entity": "ANGOLA", "Minor_Unit": null, "Numeric_Code": "24", "Withdrawal_Date": "2000-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "AOR", "Currency": "Kwanza Reajustado", "Entity": "ANGOLA", "Minor_Unit": null, "Numeric_Code": "982", "Withdrawal_Date": "2000-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ARA", "Currency": "Austral", "Entity": "ARGENTINA", "Minor_Unit": null, "Numeric_Code": "32", "Withdrawal_Date": "1992-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ARP", "Currency": "Peso Argentino", "Entity": "ARGENTINA", "Minor_Unit": null, "Numeric_Code": "32", "Withdrawal_Date": "1985-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ARY", "Currency": "Peso", "Entity": "ARGENTINA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "ARMENIA", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1994-08-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ATS", "Currency": "Schilling", "Entity": "AUSTRIA", "Minor_Unit": null, "Numeric_Code": "40", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "AYM", "Currency": "Azerbaijan Manat", "Entity": "AZERBAIJAN", "Minor_Unit": null, "Numeric_Code": "945", "Withdrawal_Date": "2005-10-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "AZM", "Currency": "Azerbaijanian Manat", "Entity": "AZERBAIJAN", "Minor_Unit": null, "Numeric_Code": "31", "Withdrawal_Date": "2005-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "AZERBAIJAN", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1994-08-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BYR", "Currency": "Belarusian Ruble", "Entity": "BELARUS", "Minor_Unit": null, "Numeric_Code": "974", "Withdrawal_Date": "2017-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BYB", "Currency": "Belarusian Ruble", "Entity": "BELARUS", "Minor_Unit": null, "Numeric_Code": "112", "Withdrawal_Date": "2001-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "BELARUS", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1994-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BEC", "Currency": "Convertible Franc", "Entity": "BELGIUM", "Minor_Unit": null, "Numeric_Code": "993", "Withdrawal_Date": "1990-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BEF", "Currency": "Belgian Franc", "Entity": "BELGIUM", "Minor_Unit": null, "Numeric_Code": "56", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BEL", "Currency": "Financial Franc", "Entity": "BELGIUM", "Minor_Unit": null, "Numeric_Code": "992", "Withdrawal_Date": "1990-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BOP", "Currency": "Peso boliviano", "Entity": "BOLIVIA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1987-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BAD", "Currency": "Dinar", "Entity": "BOSNIA AND HERZEGOVINA", "Minor_Unit": null, "Numeric_Code": "70", "Withdrawal_Date": "1998-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BRB", "Currency": "Cruzeiro", "Entity": "BRAZIL", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1986-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BRC", "Currency": "Cruzado", "Entity": "BRAZIL", "Minor_Unit": null, "Numeric_Code": "76", "Withdrawal_Date": "1989-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BRE", "Currency": "Cruzeiro", "Entity": "BRAZIL", "Minor_Unit": null, "Numeric_Code": "76", "Withdrawal_Date": "1993-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BRN", "Currency": "New Cruzado", "Entity": "BRAZIL", "Minor_Unit": null, "Numeric_Code": "76", "Withdrawal_Date": "1990-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BRR", "Currency": "Cruzeiro Real", "Entity": "BRAZIL", "Minor_Unit": null, "Numeric_Code": "987", "Withdrawal_Date": "1994-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BGJ", "Currency": "Lev A/52", "Entity": "BULGARIA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "BGK", "Currency": "Lev A/62", "Entity": "BULGARIA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "BGL", "Currency": "Lev", "Entity": "BULGARIA", "Minor_Unit": null, "Numeric_Code": "100", "Withdrawal_Date": "2003-11-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BUK", "Currency": "Kyat", "Entity": "BURMA\u00c2", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1990-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "HRD", "Currency": "Croatian Dinar", "Entity": "CROATIA", "Minor_Unit": null, "Numeric_Code": "191", "Withdrawal_Date": "1995-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "HRK", "Currency": "Croatian Kuna", "Entity": "CROATIA", "Minor_Unit": null, "Numeric_Code": "191", "Withdrawal_Date": "2015-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "CYP", "Currency": "Cyprus Pound", "Entity": "CYPRUS", "Minor_Unit": null, "Numeric_Code": "196", "Withdrawal_Date": "2008-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "CSJ", "Currency": "Krona A/53", "Entity": "CZECHOSLOVAKIA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "CSK", "Currency": "Koruna", "Entity": "CZECHOSLOVAKIA", "Minor_Unit": null, "Numeric_Code": "200", "Withdrawal_Date": "1993-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ECS", "Currency": "Sucre", "Entity": "ECUADOR", "Minor_Unit": null, "Numeric_Code": "218", "Withdrawal_Date": "2000-09-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ECV", "Currency": "Unidad de Valor Constante (UVC)", "Entity": "ECUADOR", "Minor_Unit": null, "Numeric_Code": "983", "Withdrawal_Date": "2000-09-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "GQE", "Currency": "Ekwele", "Entity": "EQUATORIAL GUINEA", "Minor_Unit": null, "Numeric_Code": "226", "Withdrawal_Date": "1986-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "EEK", "Currency": "Kroon", "Entity": "ESTONIA", "Minor_Unit": null, "Numeric_Code": "233", "Withdrawal_Date": "2011-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "XEU", "Currency": "European Currency Unit (E.C.U)", "Entity": "EUROPEAN MONETARY CO-OPERATION FUND (EMCF)", "Minor_Unit": null, "Numeric_Code": "954", "Withdrawal_Date": "1999-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FIM", "Currency": "Markka", "Entity": "FINLAND", "Minor_Unit": null, "Numeric_Code": "246", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "FRANCE", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "FRENCH GUIANA", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "FRENCH SOUTHERN TERRITORIES", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "GEK", "Currency": "Georgian Coupon", "Entity": "GEORGIA", "Minor_Unit": null, "Numeric_Code": "268", "Withdrawal_Date": "1995-10-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "GEORGIA", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1994-04-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "DDM", "Currency": "Mark der DDR", "Entity": "GERMAN DEMOCRATIC REPUBLIC", "Minor_Unit": null, "Numeric_Code": "278", "Withdrawal_Date": null, "Withdrawal_Interval": "1990-07 to 1990-09"},{"Alphabetic_Code": "DEM", "Currency": "Deutsche Mark", "Entity": "GERMANY", "Minor_Unit": null, "Numeric_Code": "276", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "GHC", "Currency": "Cedi", "Entity": "GHANA", "Minor_Unit": null, "Numeric_Code": "288", "Withdrawal_Date": "2008-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "GHP", "Currency": "Ghana Cedi", "Entity": "GHANA", "Minor_Unit": null, "Numeric_Code": "939", "Withdrawal_Date": "2007-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "GRD", "Currency": "Drachma", "Entity": "GREECE", "Minor_Unit": null, "Numeric_Code": "300", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "GUADELOUPE", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "GNE", "Currency": "Syli", "Entity": "GUINEA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1989-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "GNS", "Currency": "Syli", "Entity": "GUINEA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1986-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "GWE", "Currency": "Guinea Escudo", "Entity": "GUINEA-BISSAU", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1978 to 1981"},{"Alphabetic_Code": "GWP", "Currency": "Guinea-Bissau Peso", "Entity": "GUINEA-BISSAU", "Minor_Unit": null, "Numeric_Code": "624", "Withdrawal_Date": "1997-05-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ITL", "Currency": "Italian Lira", "Entity": "HOLY SEE (VATICAN CITY STATE)", "Minor_Unit": null, "Numeric_Code": "380", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ISJ", "Currency": "Old Krona", "Entity": "ICELAND", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "IEP", "Currency": "Irish Pound", "Entity": "IRELAND", "Minor_Unit": null, "Numeric_Code": "372", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ILP", "Currency": "Pound", "Entity": "ISRAEL", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1978 to 1981"},{"Alphabetic_Code": "ILR", "Currency": "Old Shekel", "Entity": "ISRAEL", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "ITL", "Currency": "Italian Lira", "Entity": "ITALY", "Minor_Unit": null, "Numeric_Code": "380", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "KAZAKHSTAN", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1994-05-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "KYRGYZSTAN", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1993-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LAJ", "Currency": "Pathet Lao Kip", "Entity": "LAO", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1989-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LVL", "Currency": "Latvian Lats", "Entity": "LATVIA", "Minor_Unit": null, "Numeric_Code": "428", "Withdrawal_Date": "2014-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LVR", "Currency": "Latvian Ruble", "Entity": "LATVIA", "Minor_Unit": null, "Numeric_Code": "428", "Withdrawal_Date": "1994-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LSM", "Currency": "Loti", "Entity": "LESOTHO", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1985-05-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZAL", "Currency": "Financial Rand", "Entity": "LESOTHO", "Minor_Unit": null, "Numeric_Code": "991", "Withdrawal_Date": "1995-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LTL", "Currency": "Lithuanian Litas", "Entity": "LITHUANIA", "Minor_Unit": null, "Numeric_Code": "440", "Withdrawal_Date": "2014-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LTT", "Currency": "Talonas", "Entity": "LITHUANIA", "Minor_Unit": null, "Numeric_Code": "440", "Withdrawal_Date": "1993-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LUC", "Currency": "Luxembourg Convertible Franc", "Entity": "LUXEMBOURG", "Minor_Unit": null, "Numeric_Code": "989", "Withdrawal_Date": "1990-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LUF", "Currency": "Luxembourg Franc", "Entity": "LUXEMBOURG", "Minor_Unit": null, "Numeric_Code": "442", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LUL", "Currency": "Luxembourg Financial Franc", "Entity": "LUXEMBOURG", "Minor_Unit": null, "Numeric_Code": "988", "Withdrawal_Date": "1990-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "MGF", "Currency": "Malagasy Franc", "Entity": "MADAGASCAR", "Minor_Unit": null, "Numeric_Code": "450", "Withdrawal_Date": "2004-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "MWK", "Currency": "Kwacha", "Entity": "MALAWI", "Minor_Unit": null, "Numeric_Code": "454", "Withdrawal_Date": "2016-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "MVQ", "Currency": "Maldive Rupee", "Entity": "MALDIVES", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1989-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "MLF", "Currency": "Mali Franc", "Entity": "MALI", "Minor_Unit": null, "Numeric_Code": "466", "Withdrawal_Date": "1984-11-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "MTL", "Currency": "Maltese Lira", "Entity": "MALTA", "Minor_Unit": null, "Numeric_Code": "470", "Withdrawal_Date": "2008-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "MTP", "Currency": "Maltese Pound", "Entity": "MALTA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1983-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "MARTINIQUE", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "MAYOTTE", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "MXP", "Currency": "Mexican Peso", "Entity": "MEXICO", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1993-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "MOLDOVA, REPUBLIC OF", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1993-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "MONACO", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "MZE", "Currency": "Mozambique Escudo", "Entity": "MOZAMBIQUE", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1978 to 1981"},{"Alphabetic_Code": "MZM", "Currency": "Mozambique Metical", "Entity": "MOZAMBIQUE", "Minor_Unit": null, "Numeric_Code": "508", "Withdrawal_Date": "2006-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "NLG", "Currency": "Netherlands Guilder", "Entity": "NETHERLANDS", "Minor_Unit": null, "Numeric_Code": "528", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ANG", "Currency": "Netherlands Antillean Guilder", "Entity": "NETHERLANDS ANTILLES", "Minor_Unit": null, "Numeric_Code": "532", "Withdrawal_Date": "2010-10-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "NIC", "Currency": "Cordoba", "Entity": "NICARAGUA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1990-10-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "PEN", "Currency": "Nuevo Sol", "Entity": "PERU", "Minor_Unit": null, "Numeric_Code": "604", "Withdrawal_Date": "2015-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "PEH", "Currency": "Sol", "Entity": "PERU", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "PEI", "Currency": "Inti", "Entity": "PERU", "Minor_Unit": null, "Numeric_Code": "604", "Withdrawal_Date": "1991-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "PES", "Currency": "Sol", "Entity": "PERU", "Minor_Unit": null, "Numeric_Code": "604", "Withdrawal_Date": "1986-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "PLZ", "Currency": "Zloty", "Entity": "POLAND", "Minor_Unit": null, "Numeric_Code": "616", "Withdrawal_Date": "1997-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "PTE", "Currency": "Portuguese Escudo", "Entity": "PORTUGAL", "Minor_Unit": null, "Numeric_Code": "620", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "R\u00c3\u2030UNION", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ROK", "Currency": "Leu A/52", "Entity": "ROMANIA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "RON", "Currency": "New Romanian Leu", "Entity": "ROMANIA", "Minor_Unit": null, "Numeric_Code": "946", "Withdrawal_Date": "2015-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ROL", "Currency": "Old Leu", "Entity": "ROMANIA", "Minor_Unit": null, "Numeric_Code": "642", "Withdrawal_Date": "2005-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "RUSSIAN FEDERATION", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "2004-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "SAINT MARTIN", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "1999-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "SAINT PIERRE AND MIQUELON", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "SAINT-BARTH\u00c3\u2030LEMY", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "1999-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ITL", "Currency": "Italian Lira", "Entity": "SAN MARINO", "Minor_Unit": null, "Numeric_Code": "380", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "CSD", "Currency": "Serbian Dinar", "Entity": "SERBIA AND MONTENEGRO", "Minor_Unit": null, "Numeric_Code": "891", "Withdrawal_Date": "2006-10-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "SERBIA AND MONTENEGRO", "Minor_Unit": null, "Numeric_Code": "978", "Withdrawal_Date": "2006-10-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "SKK", "Currency": "Slovak Koruna", "Entity": "SLOVAKIA", "Minor_Unit": null, "Numeric_Code": "703", "Withdrawal_Date": "2009-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "SIT", "Currency": "Tolar", "Entity": "SLOVENIA", "Minor_Unit": null, "Numeric_Code": "705", "Withdrawal_Date": "2007-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZAL", "Currency": "Financial Rand", "Entity": "SOUTH AFRICA", "Minor_Unit": null, "Numeric_Code": "991", "Withdrawal_Date": "1995-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "SDG", "Currency": "Sudanese Pound", "Entity": "SOUTH SUDAN", "Minor_Unit": null, "Numeric_Code": "938", "Withdrawal_Date": "2012-09-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RHD", "Currency": "Rhodesian Dollar", "Entity": "SOUTHERN RHODESIA\u00c2", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1978 to 1981"},{"Alphabetic_Code": "ESA", "Currency": "Spanish Peseta", "Entity": "SPAIN", "Minor_Unit": null, "Numeric_Code": "996", "Withdrawal_Date": null, "Withdrawal_Interval": "1978 to 1981"},{"Alphabetic_Code": "ESB", "Currency": "\"A\" Account (convertible Peseta Account)", "Entity": "SPAIN", "Minor_Unit": null, "Numeric_Code": "995", "Withdrawal_Date": "1994-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ESP", "Currency": "Spanish Peseta", "Entity": "SPAIN", "Minor_Unit": null, "Numeric_Code": "724", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "SDD", "Currency": "Sudanese Dinar", "Entity": "SUDAN", "Minor_Unit": null, "Numeric_Code": "736", "Withdrawal_Date": "2007-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "SDP", "Currency": "Sudanese Pound", "Entity": "SUDAN", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1998-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "SRG", "Currency": "Surinam Guilder", "Entity": "SURINAME", "Minor_Unit": null, "Numeric_Code": "740", "Withdrawal_Date": "2003-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "CHC", "Currency": "WIR Franc (for electronic)", "Entity": "SWITZERLAND", "Minor_Unit": null, "Numeric_Code": "948", "Withdrawal_Date": "2004-11-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "TAJIKISTAN", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1995-05-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "TJR", "Currency": "Tajik Ruble", "Entity": "TAJIKISTAN", "Minor_Unit": null, "Numeric_Code": "762", "Withdrawal_Date": "2001-04-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "IDR", "Currency": "Rupiah", "Entity": "TIMOR-LESTE", "Minor_Unit": null, "Numeric_Code": "360", "Withdrawal_Date": "2002-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "TPE", "Currency": "Timor Escudo", "Entity": "TIMOR-LESTE", "Minor_Unit": null, "Numeric_Code": "626", "Withdrawal_Date": "2002-11-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "TRL", "Currency": "Old Turkish Lira", "Entity": "TURKEY", "Minor_Unit": null, "Numeric_Code": "792", "Withdrawal_Date": "2005-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "TRY", "Currency": "New Turkish Lira", "Entity": "TURKEY", "Minor_Unit": null, "Numeric_Code": "949", "Withdrawal_Date": "2009-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "TURKMENISTAN", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1993-10-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "TMM", "Currency": "Turkmenistan Manat", "Entity": "TURKMENISTAN", "Minor_Unit": null, "Numeric_Code": "795", "Withdrawal_Date": "2009-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "UGS", "Currency": "Uganda Shilling", "Entity": "UGANDA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1987-05-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "UGW", "Currency": "Old Shilling", "Entity": "UGANDA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "UAK", "Currency": "Karbovanet", "Entity": "UKRAINE", "Minor_Unit": null, "Numeric_Code": "804", "Withdrawal_Date": "1996-09-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "SUR", "Currency": "Rouble", "Entity": "UNION OF SOVIET SOCIALIST REPUBLICS", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1990-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "USS", "Currency": "US Dollar (Same day)", "Entity": "UNITED STATES", "Minor_Unit": null, "Numeric_Code": "998", "Withdrawal_Date": "2014-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "UYN", "Currency": "Old Uruguay Peso", "Entity": "URUGUAY", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1989-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "UYP", "Currency": "Uruguayan Peso", "Entity": "URUGUAY", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1993-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "UZBEKISTAN", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1994-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "VEB", "Currency": "Bolivar", "Entity": "VENEZUELA", "Minor_Unit": null, "Numeric_Code": "862", "Withdrawal_Date": "2008-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "VEF", "Currency": "Bolivar Fuerte", "Entity": "VENEZUELA", "Minor_Unit": null, "Numeric_Code": "937", "Withdrawal_Date": "2011-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "VEF", "Currency": "Bolivar", "Entity": "VENEZUELA (BOLIVARIAN REPUBLIC OF)", "Minor_Unit": null, "Numeric_Code": "937", "Withdrawal_Date": "2016-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "VNC", "Currency": "Old Dong", "Entity": "VIETNAM", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "YDD", "Currency": "Yemeni Dinar", "Entity": "YEMEN, DEMOCRATIC", "Minor_Unit": null, "Numeric_Code": "720", "Withdrawal_Date": "1991-09-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "YUD", "Currency": "New Yugoslavian Dinar", "Entity": "YUGOSLAVIA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1990-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "YUM", "Currency": "New Dinar", "Entity": "YUGOSLAVIA", "Minor_Unit": null, "Numeric_Code": "891", "Withdrawal_Date": "2003-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "YUN", "Currency": "Yugoslavian Dinar", "Entity": "YUGOSLAVIA", "Minor_Unit": null, "Numeric_Code": "890", "Withdrawal_Date": "1995-11-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZRN", "Currency": "New Zaire", "Entity": "ZAIRE", "Minor_Unit": null, "Numeric_Code": "180", "Withdrawal_Date": "1999-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZRZ", "Currency": "Zaire", "Entity": "ZAIRE", "Minor_Unit": null, "Numeric_Code": "180", "Withdrawal_Date": "1994-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZMK", "Currency": "Zambian Kwacha", "Entity": "ZAMBIA", "Minor_Unit": null, "Numeric_Code": "894", "Withdrawal_Date": "2012-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZWC", "Currency": "Rhodesian Dollar", "Entity": "ZIMBABWE", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1989-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZWD", "Currency": "Zimbabwe Dollar (old)", "Entity": "ZIMBABWE", "Minor_Unit": null, "Numeric_Code": "716", "Withdrawal_Date": "2006-08-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZWD", "Currency": "Zimbabwe Dollar", "Entity": "ZIMBABWE", "Minor_Unit": null, "Numeric_Code": "716", "Withdrawal_Date": "2008-08-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZWN", "Currency": "Zimbabwe Dollar (new)", "Entity": "ZIMBABWE", "Minor_Unit": null, "Numeric_Code": "942", "Withdrawal_Date": "2006-09-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZWR", "Currency": "Zimbabwe Dollar", "Entity": "ZIMBABWE", "Minor_Unit": null, "Numeric_Code": "935", "Withdrawal_Date": "2009-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "XFO", "Currency": "Gold-Franc", "Entity": "ZZ01_Gold-Franc", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "2006-10-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "XRE", "Currency": "RINET Funds Code", "Entity": "ZZ02_RINET Funds Code", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1999-11-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "XFU", "Currency": "UIC-Franc", "Entity": "ZZ05_UIC-Franc", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "2013-11-06", "Withdrawal_Interval": null}]
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
module AdfBuilder
|
|
2
|
+
class Provider
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
FREE_TEXT_OPTIONAL_TAGS = [:service, :url]
|
|
6
|
+
|
|
7
|
+
def initialize(prospect)
|
|
8
|
+
@prospect = prospect
|
|
9
|
+
@provider = nil
|
|
10
|
+
@contact = nil
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def contact
|
|
14
|
+
@contact
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def add(name, params={})
|
|
19
|
+
@provider = Ox::Element.new('provider')
|
|
20
|
+
params.merge!({valid_values: AdfBuilder::Contact::VALID_VALUES, valid_parameters: AdfBuilder::Contact::VALID_PARAMETERS})
|
|
21
|
+
AdfBuilder::Builder.update_node(@provider, :name, name, params)
|
|
22
|
+
@prospect << @provider
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def add_contact(name, opts={})
|
|
26
|
+
@contact = Contact.new(@provider, name, opts)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def add_phone(phone, params={})
|
|
30
|
+
params.merge!({valid_values: AdfBuilder::Contact::VALID_VALUES, valid_parameters: AdfBuilder::Contact::VALID_PARAMETERS})
|
|
31
|
+
AdfBuilder::Builder.update_node(@provider, :phone, phone, params)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def add_email(email, params={})
|
|
35
|
+
params.merge!({valid_values: AdfBuilder::Contact::VALID_VALUES, valid_parameters: AdfBuilder::Contact::VALID_PARAMETERS})
|
|
36
|
+
AdfBuilder::Builder.update_node(@provider, :email, email, params)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def update_tags_with_free_text(tags)
|
|
40
|
+
tags.each do |key, value|
|
|
41
|
+
if FREE_TEXT_OPTIONAL_TAGS.include? key.to_sym
|
|
42
|
+
AdfBuilder::Builder.update_node(@provider, key, value)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def add_id(index, value, source=nil, sequence=1)
|
|
48
|
+
if @prospect.locate("provider").empty?
|
|
49
|
+
false
|
|
50
|
+
else
|
|
51
|
+
Id.new.add(@prospect.provider(index), value, source, sequence)
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -6,50 +6,37 @@ module AdfBuilder
|
|
|
6
6
|
phone: [:type, :time, :preferredcontact]
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
VALID_VALUES = {
|
|
10
|
+
name: {
|
|
11
|
+
part: %w[first middle suffix last full],
|
|
12
|
+
type: %w[individual business],
|
|
13
|
+
primarycontact: %w[0 1]
|
|
14
|
+
},
|
|
15
|
+
email: {
|
|
16
|
+
preferredcontact: %w[0 1],
|
|
17
|
+
},
|
|
18
|
+
phone: {
|
|
19
|
+
preferredcontact: %w[0 1],
|
|
20
|
+
type: %w[phone fax cellphone pager],
|
|
21
|
+
time: %w[morning afternoon evening nopreference day]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
10
24
|
|
|
11
|
-
def initialize(parent_node, name,
|
|
12
|
-
@contact = Ox::Element.new('contact')
|
|
25
|
+
def initialize(parent_node, name, params={})
|
|
26
|
+
@contact = Ox::Element.new('contact')
|
|
27
|
+
params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
|
|
28
|
+
AdfBuilder::Builder.update_node(@contact, :name, name, params)
|
|
13
29
|
parent_node << @contact
|
|
14
|
-
|
|
15
|
-
opts = whitelabel_opts(opts, :name)
|
|
16
|
-
|
|
17
|
-
if opts[:primary_contact]
|
|
18
|
-
@contact[:primarycontact] = opts[:primary_contact].to_s
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
opts.each do |k,v|
|
|
22
|
-
@contact.locate("name")[0][k] = v.to_s
|
|
23
|
-
end
|
|
24
|
-
|
|
25
30
|
end
|
|
26
31
|
|
|
27
|
-
def
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
opts.each do |k,v|
|
|
32
|
-
@contact.email[k] = v.to_s
|
|
33
|
-
end
|
|
32
|
+
def add_phone(phone, params={})
|
|
33
|
+
params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
|
|
34
|
+
AdfBuilder::Builder.update_node(@contact, :phone, phone, params)
|
|
34
35
|
end
|
|
35
36
|
|
|
36
|
-
def
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
opts.each do |k,v|
|
|
41
|
-
@contact.phone[k] = v.to_s
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
private
|
|
49
|
-
|
|
50
|
-
# clear out the opts that don't match valid keys
|
|
51
|
-
def whitelabel_opts(opts, key)
|
|
52
|
-
opts.slice(*VALID_PARAMETERS[key])
|
|
37
|
+
def add_email(email, params={})
|
|
38
|
+
params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
|
|
39
|
+
AdfBuilder::Builder.update_node(@contact, :email, email, params)
|
|
53
40
|
end
|
|
54
41
|
end
|
|
55
42
|
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module AdfBuilder
|
|
2
|
+
class ColorCombinations
|
|
3
|
+
|
|
4
|
+
FREE_TEXT_OPTIONAL_TAGS = [:interiorcolor, :exteriorcolor, :preference]
|
|
5
|
+
|
|
6
|
+
def initialize(vehicle)
|
|
7
|
+
@vehicle = vehicle
|
|
8
|
+
@color_combination = nil
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def add(interior_color, exterior_color, preference)
|
|
12
|
+
@color_combination = Ox::Element.new('colorcombination')
|
|
13
|
+
@color_combination <<
|
|
14
|
+
(Ox::Element.new('interiorcolor') << interior_color) <<
|
|
15
|
+
(Ox::Element.new('exteriorcolor') << exterior_color) <<
|
|
16
|
+
(Ox::Element.new('preference') << preference.to_s)
|
|
17
|
+
@vehicle << @color_combination
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def update_tags(index, tags)
|
|
21
|
+
valid, vehicle = AdfBuilder::Builder.valid_child?(@vehicle,'colorcombination', index)
|
|
22
|
+
if valid
|
|
23
|
+
tags.each do |key, value|
|
|
24
|
+
if FREE_TEXT_OPTIONAL_TAGS.include? key.to_sym
|
|
25
|
+
AdfBuilder::Builder.update_node(vehicle, key, value)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
module AdfBuilder
|
|
2
|
+
class Price
|
|
3
|
+
|
|
4
|
+
VALID_PARAMETERS = {
|
|
5
|
+
price: [:type, :currency, :delta, :relativeto, :source]
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
VALID_VALUES = {
|
|
9
|
+
price: {
|
|
10
|
+
type: %w[quote offer msrp invoice call appraisal asking],
|
|
11
|
+
currency: true,
|
|
12
|
+
delta: %w[absolute relative percentage],
|
|
13
|
+
relativeto: %w[msrp invoice],
|
|
14
|
+
source: true
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
def initialize(parent_node, value, params={})
|
|
19
|
+
@parent_node = parent_node
|
|
20
|
+
params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
|
|
21
|
+
validate_currency(params)
|
|
22
|
+
AdfBuilder::Builder.update_node(@parent_node, :price, value, params)
|
|
23
|
+
@price = @parent_node.price
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def update(value, params={})
|
|
27
|
+
params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
|
|
28
|
+
AdfBuilder::Builder.update_node(@parent_node, :price, value, params)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def validate_currency(params)
|
|
32
|
+
code = params[:currency]
|
|
33
|
+
if code
|
|
34
|
+
json = JSON.parse(File.read('./lib/adf_builder/data/iso-4217-currency-codes.json'))
|
|
35
|
+
codes = json.map{|j| j['Alphabetic_Code']}.reject{|j| j.nil?}
|
|
36
|
+
unless codes.include? code
|
|
37
|
+
params.delete(:currency)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -1,60 +1,100 @@
|
|
|
1
1
|
module AdfBuilder
|
|
2
2
|
class Vehicles
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
trade_in: 'trade-in',
|
|
8
|
-
test_drive: 'test-drive'
|
|
3
|
+
VALID_PARAMETERS = {
|
|
4
|
+
vehicle: [:interest, :status],
|
|
5
|
+
odometer: [:status, :units],
|
|
6
|
+
imagetag: [:width, :height, :alttext],
|
|
9
7
|
}
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
VALID_VALUES = {
|
|
10
|
+
vehicle: {
|
|
11
|
+
interest: %w[buy lease sell trade-in test-drive],
|
|
12
|
+
status: %w[new used]
|
|
13
|
+
},
|
|
14
|
+
odometer: {
|
|
15
|
+
status: %w[unknown rolledover replaced original],
|
|
16
|
+
units: %w[km mi]
|
|
17
|
+
},
|
|
18
|
+
imagetag: {
|
|
19
|
+
width: true,
|
|
20
|
+
height: true,
|
|
21
|
+
alttext: true
|
|
22
|
+
}
|
|
14
23
|
}
|
|
15
24
|
|
|
16
|
-
FREE_TEXT_OPTIONAL_TAGS =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
doors: :doors,
|
|
21
|
-
bodystyle: :bodystyle,
|
|
22
|
-
transmission: :transmission,
|
|
23
|
-
pricecomments: :pricecomments,
|
|
24
|
-
comments: :comments
|
|
25
|
-
}
|
|
25
|
+
FREE_TEXT_OPTIONAL_TAGS = [:year, :make, :model, :vin, :stock,
|
|
26
|
+
:trim, :doors, :bodystyle, :transmission, :pricecomments, :comments]
|
|
27
|
+
|
|
28
|
+
CONDITIONS = %w[excellent good fair poor unknown]
|
|
26
29
|
|
|
27
30
|
def initialize(prospect)
|
|
28
31
|
@prospect = prospect
|
|
32
|
+
@color_combinations = []
|
|
33
|
+
@prices = []
|
|
29
34
|
end
|
|
30
35
|
|
|
31
|
-
def
|
|
32
|
-
vehicle =
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
vehicle[:interest] = interest
|
|
36
|
+
def add_color_combination(v_index, interior_color, exterior_color, preference)
|
|
37
|
+
valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', v_index)
|
|
38
|
+
if valid
|
|
39
|
+
cc = ColorCombinations.new(vehicle)
|
|
40
|
+
cc.add(interior_color, exterior_color, preference)
|
|
41
|
+
@color_combinations.push(cc)
|
|
38
42
|
end
|
|
43
|
+
end
|
|
39
44
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
vehicle[:status] = status
|
|
44
|
-
end
|
|
45
|
+
def color_combination(index)
|
|
46
|
+
@color_combinations[index]
|
|
47
|
+
end
|
|
45
48
|
|
|
49
|
+
def price(index)
|
|
50
|
+
@prices[index]
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def add(year, make, model, params={})
|
|
54
|
+
vehicle = Ox::Element.new('vehicle')
|
|
55
|
+
|
|
56
|
+
params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
|
|
57
|
+
AdfBuilder::Builder.update_params(vehicle, :vehicle, params)
|
|
46
58
|
|
|
47
59
|
vehicle << (Ox::Element.new('year') << year.to_s)
|
|
48
60
|
vehicle << (Ox::Element.new('make') << make)
|
|
49
61
|
vehicle << (Ox::Element.new('model') << model)
|
|
50
62
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
63
|
+
@prospect << vehicle
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def update_odometer(index, value, params={})
|
|
67
|
+
valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
|
|
68
|
+
if valid
|
|
69
|
+
params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
|
|
70
|
+
AdfBuilder::Builder.update_node(vehicle, 'odometer', value, params)
|
|
55
71
|
end
|
|
72
|
+
end
|
|
56
73
|
|
|
57
|
-
|
|
74
|
+
def update_condition(index, value)
|
|
75
|
+
valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
|
|
76
|
+
if valid and CONDITIONS.include? value
|
|
77
|
+
AdfBuilder::Builder.update_node(vehicle, 'condition', value)
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def update_imagetag(index, value, params={})
|
|
82
|
+
valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
|
|
83
|
+
if valid
|
|
84
|
+
params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
|
|
85
|
+
AdfBuilder::Builder.update_node(vehicle, 'imagetag', value, params)
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def update_tags_with_free_text(index, tags)
|
|
90
|
+
valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
|
|
91
|
+
if valid
|
|
92
|
+
tags.each do |key, value|
|
|
93
|
+
if FREE_TEXT_OPTIONAL_TAGS.include? key.to_sym
|
|
94
|
+
AdfBuilder::Builder.update_node(vehicle, key, value)
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
end
|
|
58
98
|
end
|
|
59
99
|
|
|
60
100
|
def add_id(index, value, source=nil, sequence=1)
|
|
@@ -65,5 +105,12 @@ module AdfBuilder
|
|
|
65
105
|
end
|
|
66
106
|
end
|
|
67
107
|
|
|
108
|
+
def add_price(index, value, params={})
|
|
109
|
+
valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
|
|
110
|
+
if valid
|
|
111
|
+
price = Price.new(vehicle, value, params)
|
|
112
|
+
@prices.push(price)
|
|
113
|
+
end
|
|
114
|
+
end
|
|
68
115
|
end
|
|
69
116
|
end
|
data/lib/adf_builder/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: adf_builder
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0
|
|
4
|
+
version: 0.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- marcus.salinas
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-08-
|
|
11
|
+
date: 2021-08-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: ox
|
|
@@ -49,8 +49,12 @@ files:
|
|
|
49
49
|
- lib/adf_builder/base/prospect.rb
|
|
50
50
|
- lib/adf_builder/base/request_date.rb
|
|
51
51
|
- lib/adf_builder/customer/customer.rb
|
|
52
|
+
- lib/adf_builder/data/iso-4217-currency-codes.json
|
|
53
|
+
- lib/adf_builder/provider/provider.rb
|
|
52
54
|
- lib/adf_builder/shared/contact.rb
|
|
53
55
|
- lib/adf_builder/shared/id.rb
|
|
56
|
+
- lib/adf_builder/vehicles/colorcombinations.rb
|
|
57
|
+
- lib/adf_builder/vehicles/price.rb
|
|
54
58
|
- lib/adf_builder/vehicles/vehicles.rb
|
|
55
59
|
- lib/adf_builder/vendor/vendor.rb
|
|
56
60
|
- lib/adf_builder/version.rb
|