gobl 0.24.1 → 0.24.3
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/data/addons/br-nfe-v4.json +481 -0
- data/data/addons/br-nfse-v1.json +235 -0
- data/data/addons/co-dian-v2.json +311 -0
- data/data/addons/de-xrechnung-v3.json +16 -0
- data/data/addons/de-zugferd-v2.json +16 -0
- data/data/addons/es-facturae-v3.json +359 -0
- data/data/addons/es-tbai-v1.json +225 -0
- data/data/addons/es-verifactu-v1.json +609 -0
- data/data/addons/eu-en16931-v2017.json +92 -0
- data/data/addons/fr-choruspro-v1.json +260 -0
- data/data/addons/fr-facturx-v1.json +16 -0
- data/data/addons/gr-mydata-v1.json +1495 -0
- data/data/addons/it-sdi-v1.json +1570 -0
- data/data/addons/it-ticket-v1.json +144 -0
- data/data/addons/mx-cfdi-v4.json +908 -0
- data/data/addons/pl-favat-v2.json +235 -0
- data/data/addons/pt-saft-v1.json +950 -0
- data/data/catalogues/cef.json +374 -0
- data/data/catalogues/iso.json +19 -0
- data/data/catalogues/untdid.json +10669 -0
- data/data/currency/iso.json +2378 -0
- data/data/currency/non-iso.json +128 -0
- data/data/schemas/bill/charge.json +125 -0
- data/data/schemas/bill/correction-options.json +54 -0
- data/data/schemas/bill/delivery-details.json +41 -0
- data/data/schemas/bill/delivery.json +412 -0
- data/data/schemas/bill/discount.json +137 -0
- data/data/schemas/bill/invoice.json +423 -0
- data/data/schemas/bill/line.json +433 -0
- data/data/schemas/bill/order.json +401 -0
- data/data/schemas/bill/ordering.json +107 -0
- data/data/schemas/bill/payment-details.json +36 -0
- data/data/schemas/bill/payment.json +424 -0
- data/data/schemas/bill/tax.json +45 -0
- data/data/schemas/bill/totals.json +84 -0
- data/data/schemas/cal/date-time.json +13 -0
- data/data/schemas/cal/date.json +13 -0
- data/data/schemas/cal/period.json +32 -0
- data/data/schemas/cal/time.json +13 -0
- data/data/schemas/cbc/code-map.json +16 -0
- data/data/schemas/cbc/code.json +15 -0
- data/data/schemas/cbc/definition.json +67 -0
- data/data/schemas/cbc/key.json +15 -0
- data/data/schemas/cbc/meta.json +16 -0
- data/data/schemas/cbc/source.json +37 -0
- data/data/schemas/currency/amount.json +32 -0
- data/data/schemas/currency/code.json +734 -0
- data/data/schemas/currency/exchange-rate.json +43 -0
- data/data/schemas/dsig/digest.json +27 -0
- data/data/schemas/dsig/signature.json +12 -0
- data/data/schemas/envelope.json +41 -0
- data/data/schemas/head/header.json +62 -0
- data/data/schemas/head/link.json +42 -0
- data/data/schemas/head/stamp.json +27 -0
- data/data/schemas/i18n/string.json +18 -0
- data/data/schemas/l10n/code.json +13 -0
- data/data/schemas/l10n/iso-country-code.json +1010 -0
- data/data/schemas/l10n/tax-country-code.json +1022 -0
- data/data/schemas/note/message.json +43 -0
- data/data/schemas/num/amount.json +13 -0
- data/data/schemas/num/percentage.json +13 -0
- data/data/schemas/org/address.json +105 -0
- data/data/schemas/org/attachment.json +58 -0
- data/data/schemas/org/coordinates.json +33 -0
- data/data/schemas/org/document-ref.json +117 -0
- data/data/schemas/org/email.json +37 -0
- data/data/schemas/org/identity.json +57 -0
- data/data/schemas/org/image.json +70 -0
- data/data/schemas/org/inbox.json +49 -0
- data/data/schemas/org/item.json +96 -0
- data/data/schemas/org/name.json +59 -0
- data/data/schemas/org/note.json +184 -0
- data/data/schemas/org/party.json +129 -0
- data/data/schemas/org/person.json +90 -0
- data/data/schemas/org/registration.json +66 -0
- data/data/schemas/org/telephone.json +32 -0
- data/data/schemas/org/unit.json +350 -0
- data/data/schemas/org/website.json +38 -0
- data/data/schemas/pay/advance.json +211 -0
- data/data/schemas/pay/instructions.json +245 -0
- data/data/schemas/pay/terms.json +128 -0
- data/data/schemas/regimes/mx/food-vouchers.json +111 -0
- data/data/schemas/regimes/mx/fuel-account-balance.json +179 -0
- data/data/schemas/schema/object.json +12 -0
- data/data/schemas/tax/addon-def.json +288 -0
- data/data/schemas/tax/catalogue-def.json +37 -0
- data/data/schemas/tax/extensions.json +16 -0
- data/data/schemas/tax/identity.json +45 -0
- data/data/schemas/tax/regime-def.json +513 -0
- data/data/schemas/tax/set.json +139 -0
- data/data/schemas/tax/total.json +135 -0
- data/lib/gobl/extensions/tax/addon_helper.rb +37 -0
- data/lib/gobl/version.rb +1 -1
- data/lib/gobl.rb +1 -0
- metadata +93 -1
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://gobl.org/draft-0/tax/catalogue-def",
|
|
3
|
+
"key": "cef",
|
|
4
|
+
"name": {
|
|
5
|
+
"en": "Connecting Europe Facility (CEF)"
|
|
6
|
+
},
|
|
7
|
+
"extensions": [
|
|
8
|
+
{
|
|
9
|
+
"key": "cef-vatex",
|
|
10
|
+
"name": {
|
|
11
|
+
"en": "CET VATEX - VAT exemption reason codes"
|
|
12
|
+
},
|
|
13
|
+
"desc": {
|
|
14
|
+
"en": "Codes for the reasons for VAT exemption as defined by the Connecting Europe Facility (CEF)."
|
|
15
|
+
},
|
|
16
|
+
"values": [
|
|
17
|
+
{
|
|
18
|
+
"code": "VATEX-EU-79-C",
|
|
19
|
+
"name": {
|
|
20
|
+
"en": "Exempt based on article 79, point c of Council Directive 2006/112/EC"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"code": "VATEX-EU-132",
|
|
25
|
+
"name": {
|
|
26
|
+
"en": "Exempt based on article 132 of Council Directive 2006/112/EC"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"code": "VATEX-EU-132-1A",
|
|
31
|
+
"name": {
|
|
32
|
+
"en": "Exempt based on article 132, section 1 (a) of Council Directive 2006/112/EC"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"code": "VATEX-EU-132-1B",
|
|
37
|
+
"name": {
|
|
38
|
+
"en": "Exempt based on article 132, section 1 (b) of Council Directive 2006/112/EC"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"code": "VATEX-EU-132-1C",
|
|
43
|
+
"name": {
|
|
44
|
+
"en": "Exempt based on article 132, section 1 (c) of Council Directive 2006/112/EC"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"code": "VATEX-EU-132-1D",
|
|
49
|
+
"name": {
|
|
50
|
+
"en": "Exempt based on article 132, section 1 (d) of Council Directive 2006/112/EC"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"code": "VATEX-EU-132-1E",
|
|
55
|
+
"name": {
|
|
56
|
+
"en": "Exempt based on article 132, section 1 (e) of Council Directive 2006/112/EC"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"code": "VATEX-EU-132-1F",
|
|
61
|
+
"name": {
|
|
62
|
+
"en": "Exempt based on article 132, section 1 (f) of Council Directive 2006/112/EC"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"code": "VATEX-EU-132-1G",
|
|
67
|
+
"name": {
|
|
68
|
+
"en": "Exempt based on article 132, section 1 (g) of Council Directive 2006/112/EC"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"code": "VATEX-EU-132-1H",
|
|
73
|
+
"name": {
|
|
74
|
+
"en": "Exempt based on article 132, section 1 (h) of Council Directive 2006/112/EC"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"code": "VATEX-EU-132-1I",
|
|
79
|
+
"name": {
|
|
80
|
+
"en": "Exempt based on article 132, section 1 (i) of Council Directive 2006/112/EC"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"code": "VATEX-EU-132-1J",
|
|
85
|
+
"name": {
|
|
86
|
+
"en": "Exempt based on article 132, section 1 (j) of Council Directive 2006/112/EC"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"code": "VATEX-EU-132-1K",
|
|
91
|
+
"name": {
|
|
92
|
+
"en": "Exempt based on article 132, section 1 (k) of Council Directive 2006/112/EC"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"code": "VATEX-EU-132-1L",
|
|
97
|
+
"name": {
|
|
98
|
+
"en": "Exempt based on article 132, section 1 (l) of Council Directive 2006/112/EC"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"code": "VATEX-EU-132-1M",
|
|
103
|
+
"name": {
|
|
104
|
+
"en": "Exempt based on article 132, section 1 (m) of Council Directive 2006/112/EC"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"code": "VATEX-EU-132-1N",
|
|
109
|
+
"name": {
|
|
110
|
+
"en": "Exempt based on article 132, section 1 (n) of Council Directive 2006/112/EC"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"code": "VATEX-EU-132-1O",
|
|
115
|
+
"name": {
|
|
116
|
+
"en": "Exempt based on article 132, section 1 (o) of Council Directive 2006/112/EC"
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"code": "VATEX-EU-132-1P",
|
|
121
|
+
"name": {
|
|
122
|
+
"en": "Exempt based on article 132, section 1 (p) of Council Directive 2006/112/EC"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"code": "VATEX-EU-132-1Q",
|
|
127
|
+
"name": {
|
|
128
|
+
"en": "Exempt based on article 132, section 1 (q) of Council Directive 2006/112/EC"
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"code": "VATEX-EU-143",
|
|
133
|
+
"name": {
|
|
134
|
+
"en": "Exempt based on article 143 of Council Directive 2006/112/EC"
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"code": "VATEX-EU-143-1A",
|
|
139
|
+
"name": {
|
|
140
|
+
"en": "Exempt based on article 143, section 1 (a) of Council Directive 2006/112/EC"
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"code": "VATEX-EU-143-1B",
|
|
145
|
+
"name": {
|
|
146
|
+
"en": "Exempt based on article 143, section 1 (b) of Council Directive 2006/112/EC"
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"code": "VATEX-EU-143-1C",
|
|
151
|
+
"name": {
|
|
152
|
+
"en": "Exempt based on article 143, section 1 (c) of Council Directive 2006/112/EC"
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"code": "VATEX-EU-143-1D",
|
|
157
|
+
"name": {
|
|
158
|
+
"en": "Exempt based on article 143, section 1 (d) of Council Directive 2006/112/EC"
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"code": "VATEX-EU-143-1E",
|
|
163
|
+
"name": {
|
|
164
|
+
"en": "Exempt based on article 143, section 1 (e) of Council Directive 2006/112/EC"
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"code": "VATEX-EU-143-1F",
|
|
169
|
+
"name": {
|
|
170
|
+
"en": "Exempt based on article 143, section 1 (f) of Council Directive 2006/112/EC"
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"code": "VATEX-EU-143-1FA",
|
|
175
|
+
"name": {
|
|
176
|
+
"en": "Exempt based on article 143, section 1 (fa) of Council Directive 2006/112/EC"
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"code": "VATEX-EU-143-1G",
|
|
181
|
+
"name": {
|
|
182
|
+
"en": "Exempt based on article 143, section 1 (g) of Council Directive 2006/112/EC"
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"code": "VATEX-EU-143-1H",
|
|
187
|
+
"name": {
|
|
188
|
+
"en": "Exempt based on article 143, section 1 (h) of Council Directive 2006/112/EC"
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"code": "VATEX-EU-143-1I",
|
|
193
|
+
"name": {
|
|
194
|
+
"en": "Exempt based on article 143, section 1 (i) of Council Directive 2006/112/EC"
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"code": "VATEX-EU-143-1J",
|
|
199
|
+
"name": {
|
|
200
|
+
"en": "Exempt based on article 143, section 1 (j) of Council Directive 2006/112/EC"
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"code": "VATEX-EU-143-1K",
|
|
205
|
+
"name": {
|
|
206
|
+
"en": "Exempt based on article 143, section 1 (k) of Council Directive 2006/112/EC"
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"code": "VATEX-EU-143-1L",
|
|
211
|
+
"name": {
|
|
212
|
+
"en": "Exempt based on article 143, section 1 (l) of Council Directive 2006/112/EC"
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"code": "VATEX-EU-148",
|
|
217
|
+
"name": {
|
|
218
|
+
"en": "Exempt based on article 148 of Council Directive 2006/112/EC"
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"code": "VATEX-EU-148-A",
|
|
223
|
+
"name": {
|
|
224
|
+
"en": "Exempt based on article 148, section (a) of Council Directive 2006/112/EC"
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"code": "VATEX-EU-148-B",
|
|
229
|
+
"name": {
|
|
230
|
+
"en": "Exempt based on article 148, section (b) of Council Directive 2006/112/EC"
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"code": "VATEX-EU-148-C",
|
|
235
|
+
"name": {
|
|
236
|
+
"en": "Exempt based on article 148, section (c) of Council Directive 2006/112/EC"
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"code": "VATEX-EU-148-D",
|
|
241
|
+
"name": {
|
|
242
|
+
"en": "Exempt based on article 148, section (d) of Council Directive 2006/112/EC"
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"code": "VATEX-EU-148-E",
|
|
247
|
+
"name": {
|
|
248
|
+
"en": "Exempt based on article 148, section (e) of Council Directive 2006/112/EC"
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"code": "VATEX-EU-148-F",
|
|
253
|
+
"name": {
|
|
254
|
+
"en": "Exempt based on article 148, section (f) of Council Directive 2006/112/EC"
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"code": "VATEX-EU-148-G",
|
|
259
|
+
"name": {
|
|
260
|
+
"en": "Exempt based on article 148, section (g) of Council Directive 2006/112/EC"
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"code": "VATEX-EU-151",
|
|
265
|
+
"name": {
|
|
266
|
+
"en": "Exempt based on article 151 of Council Directive 2006/112/EC"
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"code": "VATEX-EU-151-1A",
|
|
271
|
+
"name": {
|
|
272
|
+
"en": "Exempt based on article 151, section 1 (a) of Council Directive 2006/112/EC"
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"code": "VATEX-EU-151-1AA",
|
|
277
|
+
"name": {
|
|
278
|
+
"en": "Exempt based on article 151, section 1 (aa) of Council Directive 2006/112/EC"
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"code": "VATEX-EU-151-1B",
|
|
283
|
+
"name": {
|
|
284
|
+
"en": "Exempt based on article 151, section 1 (b) of Council Directive 2006/112/EC"
|
|
285
|
+
}
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"code": "VATEX-EU-151-1C",
|
|
289
|
+
"name": {
|
|
290
|
+
"en": "Exempt based on article 151, section 1 (c) of Council Directive 2006/112/EC"
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"code": "VATEX-EU-151-1D",
|
|
295
|
+
"name": {
|
|
296
|
+
"en": "Exempt based on article 151, section 1 (d) of Council Directive 2006/112/EC"
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"code": "VATEX-EU-151-1E",
|
|
301
|
+
"name": {
|
|
302
|
+
"en": "Exempt based on article 151, section 1 (e) of Council Directive 2006/112/EC"
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"code": "VATEX-EU-309",
|
|
307
|
+
"name": {
|
|
308
|
+
"en": "Exempt based on article 309 of Council Directive 2006/112/EC"
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"code": "VATEX-EU-AE",
|
|
313
|
+
"name": {
|
|
314
|
+
"en": "Reverse charge"
|
|
315
|
+
}
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"code": "VATEX-EU-D",
|
|
319
|
+
"name": {
|
|
320
|
+
"en": "Travel agents VAT scheme."
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"code": "VATEX-EU-F",
|
|
325
|
+
"name": {
|
|
326
|
+
"en": "Second hand goods VAT scheme."
|
|
327
|
+
}
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"code": "VATEX-EU-G",
|
|
331
|
+
"name": {
|
|
332
|
+
"en": "Export outside the EU"
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"code": "VATEX-EU-I",
|
|
337
|
+
"name": {
|
|
338
|
+
"en": "Works of art VAT scheme."
|
|
339
|
+
}
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
"code": "VATEX-EU-IC",
|
|
343
|
+
"name": {
|
|
344
|
+
"en": "Intra-community supply"
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"code": "VATEX-EU-J",
|
|
349
|
+
"name": {
|
|
350
|
+
"en": "Collectors items and antiques VAT scheme."
|
|
351
|
+
}
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"code": "VATEX-EU-O",
|
|
355
|
+
"name": {
|
|
356
|
+
"en": "Not subject to VAT"
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"code": "VATEX-FR-FRANCHISE",
|
|
361
|
+
"name": {
|
|
362
|
+
"en": "France domestic VAT franchise in base"
|
|
363
|
+
}
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"code": "VATEX-FR-CNWVAT",
|
|
367
|
+
"name": {
|
|
368
|
+
"en": "France domestic Credit Notes without VAT, due to supplier forfeit of VAT for discount"
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
]
|
|
372
|
+
}
|
|
373
|
+
]
|
|
374
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://gobl.org/draft-0/tax/catalogue-def",
|
|
3
|
+
"key": "iso",
|
|
4
|
+
"name": {
|
|
5
|
+
"en": "ISO/IEC Data Elements"
|
|
6
|
+
},
|
|
7
|
+
"extensions": [
|
|
8
|
+
{
|
|
9
|
+
"key": "iso-scheme-id",
|
|
10
|
+
"name": {
|
|
11
|
+
"en": "ISO/IEC 6523 Identifier scheme code"
|
|
12
|
+
},
|
|
13
|
+
"desc": {
|
|
14
|
+
"en": "Defines a global structure for uniquely identifying organizations or entities.\nThis standard is essential in environments where electronic communications require\nunambiguous identification of organizations, especially in automated systems or\nelectronic data interchange (EDI).\n\nThe ISO 6523 set of identifies is used by the EN16931 standard for electronic invoicing."
|
|
15
|
+
},
|
|
16
|
+
"pattern": "^\\d{4}$"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|