@facturacr/atv-sdk 0.0.23-beta → 0.0.25-beta
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.
- package/dist/src/ATV/core/Document.d.ts +4 -1
- package/dist/src/ATV/core/Document.js +27 -5
- package/dist/src/ATV/core/Document.js.map +1 -1
- package/dist/src/ATV/mappers/billDocToAtv.js +23 -18
- package/dist/src/ATV/mappers/billDocToAtv.js.map +1 -1
- package/dist/src/ATV/useCases/createDocument/index.js +2 -2
- package/dist/src/ATV/useCases/createDocument/index.js.map +1 -1
- package/package.json +1 -1
- package/src/ATV/core/Document.ts +30 -5
- package/src/ATV/mappers/billDocToAtv.ts +22 -17
- package/src/ATV/useCases/createDocument/index.ts +2 -2
|
@@ -40,7 +40,10 @@ export declare class Document {
|
|
|
40
40
|
OtroTexto: string;
|
|
41
41
|
} | undefined;
|
|
42
42
|
get summaryInvoice(): SummaryProps;
|
|
43
|
-
|
|
43
|
+
private isAService;
|
|
44
|
+
sumServicesLines(): OrderLineSum;
|
|
45
|
+
sumMerchandiseLines(): OrderLineSum;
|
|
46
|
+
sumOrderLines(): OrderLineSum;
|
|
44
47
|
static create(props: InvoiceProps): Document;
|
|
45
48
|
}
|
|
46
49
|
export {};
|
|
@@ -42,19 +42,21 @@ class Document {
|
|
|
42
42
|
if (this.props.summaryInvoice) {
|
|
43
43
|
return this.props.summaryInvoice;
|
|
44
44
|
}
|
|
45
|
-
const orderLineSumResult = this.
|
|
45
|
+
const orderLineSumResult = this.sumOrderLines();
|
|
46
|
+
const servicesLineSumResult = this.sumServicesLines();
|
|
47
|
+
const merchandiseLineSumResult = this.sumMerchandiseLines();
|
|
46
48
|
const summary = {
|
|
47
49
|
currency: {
|
|
48
50
|
code: 'CRC',
|
|
49
51
|
exchangeRate: '585.69'
|
|
50
52
|
},
|
|
51
53
|
totalExemptServices: 0,
|
|
52
|
-
totalEncumberedServices:
|
|
54
|
+
totalEncumberedServices: servicesLineSumResult.totalAmount,
|
|
53
55
|
totalExonerated: 0,
|
|
54
|
-
totalTaxedServices:
|
|
56
|
+
totalTaxedServices: servicesLineSumResult.totalTaxes,
|
|
55
57
|
totalTaxes: orderLineSumResult.totalTaxes,
|
|
56
58
|
totalDiscounts: 0,
|
|
57
|
-
totalEncumberedMerchandise:
|
|
59
|
+
totalEncumberedMerchandise: merchandiseLineSumResult.totalAmount,
|
|
58
60
|
totalTaxed: orderLineSumResult.totalTaxes,
|
|
59
61
|
totalExemptMerchandise: 0,
|
|
60
62
|
totalExempt: 0,
|
|
@@ -64,7 +66,27 @@ class Document {
|
|
|
64
66
|
const totalSale = summary.totalEncumbered + summary.totalExempt + summary.totalExonerated;
|
|
65
67
|
return Object.assign(Object.assign({}, summary), { totalSale, totalNetSale: totalSale - summary.totalDiscounts, totalVoucher: summary.totalNetSale + summary.totalTaxed });
|
|
66
68
|
}
|
|
67
|
-
|
|
69
|
+
isAService(orderLine) {
|
|
70
|
+
const servicesMeasurementUnits = ['Sp', 'St', 'Spe'];
|
|
71
|
+
return servicesMeasurementUnits.includes(orderLine.measureUnit);
|
|
72
|
+
}
|
|
73
|
+
sumServicesLines() {
|
|
74
|
+
return this.orderLines.filter(this.isAService).reduce((previousValue, currentValue) => {
|
|
75
|
+
return {
|
|
76
|
+
totalAmount: previousValue.totalAmount + currentValue.totalAmount,
|
|
77
|
+
totalTaxes: previousValue.totalTaxes + currentValue.tax.amount
|
|
78
|
+
};
|
|
79
|
+
}, { totalAmount: 0, totalTaxes: 0 });
|
|
80
|
+
}
|
|
81
|
+
sumMerchandiseLines() {
|
|
82
|
+
return this.orderLines.filter((ol) => !this.isAService(ol)).reduce((previousValue, currentValue) => {
|
|
83
|
+
return {
|
|
84
|
+
totalAmount: previousValue.totalAmount + currentValue.totalAmount,
|
|
85
|
+
totalTaxes: previousValue.totalTaxes + currentValue.tax.amount
|
|
86
|
+
};
|
|
87
|
+
}, { totalAmount: 0, totalTaxes: 0 });
|
|
88
|
+
}
|
|
89
|
+
sumOrderLines() {
|
|
68
90
|
return this.orderLines.reduce((previousValue, currentValue) => {
|
|
69
91
|
return {
|
|
70
92
|
totalAmount: previousValue.totalAmount + currentValue.totalAmount,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Document.js","sourceRoot":"","sources":["../../../../src/ATV/core/Document.ts"],"names":[],"mappings":";;;AA4BA,MAAa,QAAQ;IAEnB,YAAY,KAAmB;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAA;IAC/B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAA;IACzC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAA;IAChC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAA;IAC7B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAA;IAC9B,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAA;IACjC,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAA;IAClC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAA;IACjC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,IAAI,cAAc;QAChB,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAA;QAClC,CAAC;QACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"Document.js","sourceRoot":"","sources":["../../../../src/ATV/core/Document.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,31 +49,36 @@ const mapSummaryInvoice = (summaryInvoice) => {
|
|
|
49
49
|
};
|
|
50
50
|
};
|
|
51
51
|
const mapPerson = (person) => {
|
|
52
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
53
|
-
|
|
52
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
53
|
+
const atvPerson = {
|
|
54
54
|
Nombre: person.fullName,
|
|
55
55
|
Identificacion: {
|
|
56
56
|
Tipo: person.identifierType,
|
|
57
57
|
Numero: person.identifierId
|
|
58
58
|
},
|
|
59
59
|
NombreComercial: person.commercialName,
|
|
60
|
-
Ubicacion:
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
Barrio: (_d = person.location) === null || _d === void 0 ? void 0 : _d.neighborhood.padStart(2, '0'),
|
|
65
|
-
OtrasSenas: (_e = person.location) === null || _e === void 0 ? void 0 : _e.details
|
|
66
|
-
},
|
|
67
|
-
Telefono: {
|
|
68
|
-
CodigoPais: (_f = person.phone) === null || _f === void 0 ? void 0 : _f.countryCode,
|
|
69
|
-
NumTelefono: (_g = person.phone) === null || _g === void 0 ? void 0 : _g.number
|
|
70
|
-
},
|
|
71
|
-
Fax: {
|
|
72
|
-
CodigoPais: (_h = person.fax) === null || _h === void 0 ? void 0 : _h.countryCode,
|
|
73
|
-
NumTelefono: (_j = person.fax) === null || _j === void 0 ? void 0 : _j.number
|
|
74
|
-
},
|
|
75
|
-
CorreoElectronico: person.email
|
|
60
|
+
Ubicacion: undefined,
|
|
61
|
+
Telefono: undefined,
|
|
62
|
+
Fax: undefined,
|
|
63
|
+
CorreoElectronico: undefined
|
|
76
64
|
};
|
|
65
|
+
atvPerson.Ubicacion = person.location ? {
|
|
66
|
+
Provincia: (_a = person.location) === null || _a === void 0 ? void 0 : _a.province,
|
|
67
|
+
Canton: (_c = (_b = person.location) === null || _b === void 0 ? void 0 : _b.canton) === null || _c === void 0 ? void 0 : _c.padStart(2, '0'),
|
|
68
|
+
Distrito: (_e = (_d = person.location) === null || _d === void 0 ? void 0 : _d.district) === null || _e === void 0 ? void 0 : _e.padStart(2, '0'),
|
|
69
|
+
Barrio: (_g = (_f = person.location) === null || _f === void 0 ? void 0 : _f.neighborhood) === null || _g === void 0 ? void 0 : _g.padStart(2, '0'),
|
|
70
|
+
OtrasSenas: (_h = person.location) === null || _h === void 0 ? void 0 : _h.details
|
|
71
|
+
} : undefined;
|
|
72
|
+
atvPerson.Telefono = person.phone ? {
|
|
73
|
+
CodigoPais: (_j = person.phone) === null || _j === void 0 ? void 0 : _j.countryCode,
|
|
74
|
+
NumTelefono: (_k = person.phone) === null || _k === void 0 ? void 0 : _k.number
|
|
75
|
+
} : undefined;
|
|
76
|
+
atvPerson.Fax = person.fax ? {
|
|
77
|
+
CodigoPais: (_l = person.fax) === null || _l === void 0 ? void 0 : _l.countryCode,
|
|
78
|
+
NumTelefono: (_m = person.fax) === null || _m === void 0 ? void 0 : _m.number
|
|
79
|
+
} : undefined;
|
|
80
|
+
atvPerson.CorreoElectronico = person.email;
|
|
81
|
+
return atvPerson;
|
|
77
82
|
};
|
|
78
83
|
const mapDocumentToAtvFormat = (docName, document) => {
|
|
79
84
|
const key = docName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billDocToAtv.js","sourceRoot":"","sources":["../../../../src/ATV/mappers/billDocToAtv.ts"],"names":[],"mappings":";;;AAOA,MAAM,wBAAwB,GAAG,CAAC,UAAuB,EAAmB,EAAE;IAC5E,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAqC,CAAC,SAAS,EAAE,EAAE;QACpF,OAAO;YACL,WAAW,EAAE,SAAS,CAAC,UAAU;YACjC,MAAM,EAAE,SAAS,CAAC,IAAI;YACtB,kBAAkB;YAClB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,YAAY,EAAE,SAAS,CAAC,WAAW;YACnC,wBAAwB;YACxB,OAAO,EAAE,SAAS,CAAC,MAAM;YACzB,cAAc,EAAE,SAAS,CAAC,YAAY;YACtC,UAAU,EAAE,SAAS,CAAC,WAAW;YACjC,YAAY;YACZ,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,gBAAgB;YAChB,QAAQ,EAAE;gBACR,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI;gBAC1B,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ;gBACpC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI;gBAC1B,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM;aAC5B;YACD,eAAe;YACf,eAAe,EAAE,SAAS,CAAC,oBAAoB;SAChD,CAAA;IACH,CAAC,CAAC,CAAA;IACF,OAAO,EAAE,YAAY,EAAE,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,cAAgD,EAAW,EAAE;IACtF,OAAO;QACL,gBAAgB,EAAE;YAChB,YAAY,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI;YAC1C,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,YAAY;SACjD;QACD,iBAAiB,EAAE,cAAc,CAAC,uBAAuB;QACzD,gBAAgB,EAAE,cAAc,CAAC,mBAAmB;QACpD,uBAAuB,EAAE,cAAc,CAAC,0BAA0B;QAClE,sBAAsB,EAAE,cAAc,CAAC,sBAAsB;QAC7D,YAAY,EAAE,cAAc,CAAC,eAAe;QAC5C,WAAW,EAAE,cAAc,CAAC,WAAW;QACvC,cAAc,EAAE,cAAc,CAAC,eAAe;QAC9C,UAAU,EAAE,cAAc,CAAC,SAAS;QACpC,eAAe,EAAE,cAAc,CAAC,cAAc;QAC9C,cAAc,EAAE,cAAc,CAAC,YAAY;QAC3C,aAAa,EAAE,cAAc,CAAC,UAAU;QACxC,gBAAgB,EAAE,cAAc,CAAC,YAAY;KAC9C,CAAA;AACH,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,MAAc,EAAW,EAAE;;IAC5C,
|
|
1
|
+
{"version":3,"file":"billDocToAtv.js","sourceRoot":"","sources":["../../../../src/ATV/mappers/billDocToAtv.ts"],"names":[],"mappings":"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"}
|
|
@@ -113,8 +113,8 @@ class CreateDocumentCommand {
|
|
|
113
113
|
createFullConsecutive(dto, docType) {
|
|
114
114
|
return FullConsecutive_1.FullConsecutive.create({
|
|
115
115
|
consecutiveIdentifier: dto.consecutiveIdentifier,
|
|
116
|
-
branch: dto.branch,
|
|
117
|
-
terminal: dto.terminal,
|
|
116
|
+
branch: dto.branch.padStart(3, '0'),
|
|
117
|
+
terminal: dto.terminal.padStart(5, '0'),
|
|
118
118
|
documentType: docType.value
|
|
119
119
|
});
|
|
120
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ATV/useCases/createDocument/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ATV/useCases/createDocument/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@facturacr/atv-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.25-beta",
|
|
4
4
|
"description": "Librería (SDK) de Javascript/NodeJS para acceder al API de Administración Tributaria Virtual (ATV) del Ministerio de Hacienda.",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
package/src/ATV/core/Document.ts
CHANGED
|
@@ -80,19 +80,21 @@ export class Document {
|
|
|
80
80
|
if (this.props.summaryInvoice) {
|
|
81
81
|
return this.props.summaryInvoice
|
|
82
82
|
}
|
|
83
|
-
const orderLineSumResult = this.
|
|
83
|
+
const orderLineSumResult = this.sumOrderLines()
|
|
84
|
+
const servicesLineSumResult = this.sumServicesLines()
|
|
85
|
+
const merchandiseLineSumResult = this.sumMerchandiseLines()
|
|
84
86
|
const summary = {
|
|
85
87
|
currency: {
|
|
86
88
|
code: 'CRC',
|
|
87
89
|
exchangeRate: '585.69'
|
|
88
90
|
},
|
|
89
91
|
totalExemptServices: 0,
|
|
90
|
-
totalEncumberedServices:
|
|
92
|
+
totalEncumberedServices: servicesLineSumResult.totalAmount,
|
|
91
93
|
totalExonerated: 0,
|
|
92
|
-
totalTaxedServices:
|
|
94
|
+
totalTaxedServices: servicesLineSumResult.totalTaxes,
|
|
93
95
|
totalTaxes: orderLineSumResult.totalTaxes,
|
|
94
96
|
totalDiscounts: 0,
|
|
95
|
-
totalEncumberedMerchandise:
|
|
97
|
+
totalEncumberedMerchandise: merchandiseLineSumResult.totalAmount,
|
|
96
98
|
totalTaxed: orderLineSumResult.totalTaxes,
|
|
97
99
|
totalExemptMerchandise: 0,
|
|
98
100
|
totalExempt: 0,
|
|
@@ -108,7 +110,30 @@ export class Document {
|
|
|
108
110
|
}
|
|
109
111
|
}
|
|
110
112
|
|
|
111
|
-
|
|
113
|
+
private isAService(orderLine: OrderLine): boolean {
|
|
114
|
+
const servicesMeasurementUnits = ['Sp', 'St', 'Spe'];
|
|
115
|
+
return servicesMeasurementUnits.includes(orderLine.measureUnit)
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
sumServicesLines(): OrderLineSum {
|
|
119
|
+
return this.orderLines.filter(this.isAService).reduce<OrderLineSum>((previousValue, currentValue) => {
|
|
120
|
+
return {
|
|
121
|
+
totalAmount: previousValue.totalAmount + currentValue.totalAmount,
|
|
122
|
+
totalTaxes: previousValue.totalTaxes + currentValue.tax.amount
|
|
123
|
+
}
|
|
124
|
+
}, { totalAmount: 0, totalTaxes: 0 })
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
sumMerchandiseLines(): OrderLineSum {
|
|
128
|
+
return this.orderLines.filter((ol) => !this.isAService(ol)).reduce<OrderLineSum>((previousValue, currentValue) => {
|
|
129
|
+
return {
|
|
130
|
+
totalAmount: previousValue.totalAmount + currentValue.totalAmount,
|
|
131
|
+
totalTaxes: previousValue.totalTaxes + currentValue.tax.amount
|
|
132
|
+
}
|
|
133
|
+
}, { totalAmount: 0, totalTaxes: 0 })
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
sumOrderLines(): OrderLineSum {
|
|
112
137
|
return this.orderLines.reduce<OrderLineSum>((previousValue, currentValue) => {
|
|
113
138
|
return {
|
|
114
139
|
totalAmount: previousValue.totalAmount + currentValue.totalAmount,
|
|
@@ -55,30 +55,35 @@ const mapSummaryInvoice = (summaryInvoice: DomainDocument['summaryInvoice']): Re
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
const mapPerson = (person: Person): Persona => {
|
|
58
|
-
|
|
58
|
+
const atvPerson = {
|
|
59
59
|
Nombre: person.fullName,
|
|
60
60
|
Identificacion: {
|
|
61
61
|
Tipo: person.identifierType,
|
|
62
62
|
Numero: person.identifierId
|
|
63
63
|
},
|
|
64
64
|
NombreComercial: person.commercialName,
|
|
65
|
-
Ubicacion:
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
Barrio: person.location?.neighborhood.padStart(2, '0'),
|
|
70
|
-
OtrasSenas: person.location?.details
|
|
71
|
-
},
|
|
72
|
-
Telefono: {
|
|
73
|
-
CodigoPais: person.phone?.countryCode,
|
|
74
|
-
NumTelefono: person.phone?.number
|
|
75
|
-
},
|
|
76
|
-
Fax: {
|
|
77
|
-
CodigoPais: person.fax?.countryCode,
|
|
78
|
-
NumTelefono: person.fax?.number
|
|
79
|
-
},
|
|
80
|
-
CorreoElectronico: person.email
|
|
65
|
+
Ubicacion: undefined,
|
|
66
|
+
Telefono: undefined,
|
|
67
|
+
Fax: undefined,
|
|
68
|
+
CorreoElectronico: undefined
|
|
81
69
|
}
|
|
70
|
+
atvPerson.Ubicacion = person.location ? {
|
|
71
|
+
Provincia: person.location?.province,
|
|
72
|
+
Canton: person.location?.canton?.padStart(2, '0'),
|
|
73
|
+
Distrito: person.location?.district?.padStart(2, '0'),
|
|
74
|
+
Barrio: person.location?.neighborhood?.padStart(2, '0'),
|
|
75
|
+
OtrasSenas: person.location?.details
|
|
76
|
+
} : undefined
|
|
77
|
+
atvPerson.Telefono = person.phone ? {
|
|
78
|
+
CodigoPais: person.phone?.countryCode,
|
|
79
|
+
NumTelefono: person.phone?.number
|
|
80
|
+
} : undefined
|
|
81
|
+
atvPerson.Fax = person.fax ? {
|
|
82
|
+
CodigoPais: person.fax?.countryCode,
|
|
83
|
+
NumTelefono: person.fax?.number
|
|
84
|
+
} : undefined
|
|
85
|
+
atvPerson.CorreoElectronico = person.email
|
|
86
|
+
return atvPerson;
|
|
82
87
|
}
|
|
83
88
|
|
|
84
89
|
export const mapDocumentToAtvFormat = (docName: string, document: DomainDocument): AtvFormat => {
|
|
@@ -111,8 +111,8 @@ export class CreateDocumentCommand {
|
|
|
111
111
|
private createFullConsecutive(dto: CreateDocumentInput['document'], docType: DocumentType): FullConsecutive {
|
|
112
112
|
return FullConsecutive.create({
|
|
113
113
|
consecutiveIdentifier: dto.consecutiveIdentifier,
|
|
114
|
-
branch: dto.branch,
|
|
115
|
-
terminal: dto.terminal,
|
|
114
|
+
branch: dto.branch.padStart(3, '0'),
|
|
115
|
+
terminal: dto.terminal.padStart(5, '0'),
|
|
116
116
|
documentType: docType.value
|
|
117
117
|
})
|
|
118
118
|
}
|