@canboat/canboatjs 3.1.0 → 3.2.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.
- package/.github/workflows/publish.yml +18 -9
- package/README.md +3 -7
- package/dist/actisense-serial.d.ts.map +1 -1
- package/dist/actisense-serial.js +39 -39
- package/dist/actisense-serial.js.map +1 -1
- package/dist/bin/actisense-file.js +0 -0
- package/dist/bin/actisense-n2k-tcp.js +0 -0
- package/dist/bin/actisense-serialjs.js +0 -0
- package/dist/bin/analyzerjs.js +0 -0
- package/dist/bin/candumpjs.js +0 -0
- package/dist/bin/cansend.js +0 -0
- package/dist/bin/ikonvert-serial.js +0 -0
- package/dist/bin/to-pgn.js +0 -0
- package/dist/canbus.d.ts.map +1 -1
- package/dist/canbus.js +5 -5
- package/dist/canbus.js.map +1 -1
- package/dist/candevice.d.ts.map +1 -1
- package/dist/candevice.js +2 -4
- package/dist/candevice.js.map +1 -1
- package/dist/ikonvert.d.ts.map +1 -1
- package/dist/ikonvert.js +10 -10
- package/dist/ikonvert.js.map +1 -1
- package/dist/n2kDevice.d.ts +5 -1
- package/dist/n2kDevice.d.ts.map +1 -1
- package/dist/n2kDevice.js +88 -36
- package/dist/n2kDevice.js.map +1 -1
- package/dist/utilities.d.ts +3 -1
- package/dist/utilities.d.ts.map +1 -1
- package/dist/utilities.js +50 -3
- package/dist/utilities.js.map +1 -1
- package/dist/w2k01.d.ts.map +1 -1
- package/dist/w2k01.js +7 -7
- package/dist/w2k01.js.map +1 -1
- package/dist/yddevice.d.ts.map +1 -1
- package/dist/yddevice.js +2 -4
- package/dist/yddevice.js.map +1 -1
- package/dist/ydgw02.d.ts.map +1 -1
- package/dist/ydgw02.js +5 -5
- package/dist/ydgw02.js.map +1 -1
- package/lib/actisense-serial.ts +40 -40
- package/lib/canbus.ts +6 -6
- package/lib/candevice.ts +2 -5
- package/lib/ikonvert.ts +11 -11
- package/lib/n2kDevice.ts +102 -37
- package/lib/utilities.ts +50 -3
- package/lib/w2k01.ts +8 -8
- package/lib/yddevice.ts +2 -5
- package/lib/ydgw02.ts +5 -6
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/CHANGELOG.md +0 -101
- package/dist/bin/candumpanalyzerjs.d.ts +0 -3
- package/dist/bin/candumpanalyzerjs.d.ts.map +0 -1
- package/dist/bin/candumpanalyzerjs.js +0 -31
- package/dist/bin/candumpanalyzerjs.js.map +0 -1
- package/dist/ncanbus.d.ts +0 -17
- package/dist/ncanbus.d.ts.map +0 -1
- package/dist/ncanbus.js +0 -92
- package/dist/ncanbus.js.map +0 -1
- package/ios_canboat.js/main.js +0 -2
- package/ios_canboat.js/main.js.LICENSE.txt +0 -17
- package/ios_canboat.js/main.js.map +0 -1
package/CHANGELOG.md
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
## Change Log
|
|
2
|
-
|
|
3
|
-
### v1.5.2 (2019/04/10 12:29 +00:00)
|
|
4
|
-
- [#55](https://github.com/canboat/canboatjs/pull/55) fix: make iKonvert and YDGW emit nmea2000OutAvailable (@sbender9)
|
|
5
|
-
- [#54](https://github.com/canboat/canboatjs/pull/54) fix: some proprietary pgns not getting parsed with the YDGW (@sbender9)
|
|
6
|
-
- [#53](https://github.com/canboat/canboatjs/pull/53) fix: YDGW output broken (@sbender9)
|
|
7
|
-
|
|
8
|
-
### v1.5.1 (2019/04/08 21:25 +00:00)
|
|
9
|
-
- [#52](https://github.com/canboat/canboatjs/pull/52) fix: issues with the YDWG (@sbender9)
|
|
10
|
-
- [#51](https://github.com/canboat/canboatjs/pull/51) feature: add support NMEA 2000 via MQTT on Venus (@sbender9)
|
|
11
|
-
|
|
12
|
-
### v1.5.0 (2019/04/04 13:53 +00:00)
|
|
13
|
-
- [#50](https://github.com/canboat/canboatjs/pull/50) feature: add the ability for to ouput to the YDWG-02 (@jncarter123)
|
|
14
|
-
|
|
15
|
-
### v1.4.0 (2019/03/19 17:34 +00:00)
|
|
16
|
-
- [#48](https://github.com/canboat/canboatjs/pull/48) feature: add callback interface to parse (@tkurki)
|
|
17
|
-
|
|
18
|
-
### v1.3.1 (2019/03/04 14:49 +00:00)
|
|
19
|
-
- [#47](https://github.com/canboat/canboatjs/pull/47) fix: YDWG date parse error (@jncarter123)
|
|
20
|
-
|
|
21
|
-
### v1.3.0 (2019/02/26 19:36 +00:00)
|
|
22
|
-
- [#45](https://github.com/canboat/canboatjs/pull/45) refactor: pcdin implmentation (@sbender9)
|
|
23
|
-
- [#44](https://github.com/canboat/canboatjs/pull/44) refactor: Yacht Devices RAW format code cleanup. #42 (@webmasterkai)
|
|
24
|
-
- [#43](https://github.com/canboat/canboatjs/pull/43) feature: add support for Yacht Devices NMEA 2000 Wi-Fi Gateway (@sbender9)
|
|
25
|
-
- [#40](https://github.com/canboat/canboatjs/pull/40) fix: Handle offset values (@webmasterkai)
|
|
26
|
-
- [#38](https://github.com/canboat/canboatjs/pull/38) style: whitespace (@webmasterkai)
|
|
27
|
-
- [#39](https://github.com/canboat/canboatjs/pull/39) chore: Edit git and editor config (@webmasterkai)
|
|
28
|
-
|
|
29
|
-
### v1.2.1 (2018/12/12 21:08 +00:00)
|
|
30
|
-
- [#28](https://github.com/canboat/canboatjs/pull/28) feature: add support for Digital Yacht’s iKonvert (@sbender9)
|
|
31
|
-
- [#36](https://github.com/canboat/canboatjs/pull/36) chore: make serialport an optional dependency (@tkurki)
|
|
32
|
-
|
|
33
|
-
### v1.1.10 (2018/12/12 19:52 +00:00)
|
|
34
|
-
- [#37](https://github.com/canboat/canboatjs/pull/37) fix: new bit-buffer release breaks reading n2k data (@sbender9)
|
|
35
|
-
|
|
36
|
-
### v1.1.9 (2018/11/06 19:57 +00:00)
|
|
37
|
-
- [#34](https://github.com/canboat/canboatjs/pull/34) fix: changes in canboat to 130306 and 129029 broke n2k output (@sbender9)
|
|
38
|
-
|
|
39
|
-
### v1.1.8 (2018/11/02 14:33 +00:00)
|
|
40
|
-
- [#33](https://github.com/canboat/canboatjs/pull/33) fix: revert timestamp change #31 (@sbender9)
|
|
41
|
-
|
|
42
|
-
### v1.1.7 (2018/10/31 19:24 +00:00)
|
|
43
|
-
- [#32](https://github.com/canboat/canboatjs/pull/32) fix: definition for 127501 (Binary Switch Bank Status) was wrong (@sbender9)
|
|
44
|
-
- [#31](https://github.com/canboat/canboatjs/pull/31) fix: timestamps from actisense log files not formatted properly (@sbender9)
|
|
45
|
-
|
|
46
|
-
### v1.1.6 (2018/10/21 17:55 +00:00)
|
|
47
|
-
- [#30](https://github.com/canboat/canboatjs/pull/30) chore: update pgns.json to include Airmar: Speed Pulse Count (@sbender9)
|
|
48
|
-
|
|
49
|
-
### v1.1.5 (2018/10/14 17:28 +00:00)
|
|
50
|
-
- [#27](https://github.com/canboat/canboatjs/pull/27) chore: update to the latest pgn definitions from canboat (@sbender9)
|
|
51
|
-
- [#26](https://github.com/canboat/canboatjs/pull/26) fix: issues with address claims not being handled properly (@sbender9)
|
|
52
|
-
- [#24](https://github.com/canboat/canboatjs/pull/24) chore: add debugging of toPgn conversion results (@sbender9)
|
|
53
|
-
|
|
54
|
-
### v1.1.4 (2018/09/13 14:05 +00:00)
|
|
55
|
-
- [#23](https://github.com/canboat/canboatjs/pull/23) fix: allow input to be in both "fast" and "plain" (@sbender9)
|
|
56
|
-
|
|
57
|
-
### v1.1.3 (2018/09/12 19:17 +00:00)
|
|
58
|
-
- [#22](https://github.com/canboat/canboatjs/pull/22) fix: server crashes if logging is turned on with a canbus device (@sbender9)
|
|
59
|
-
|
|
60
|
-
### v1.1.2 (2018/09/06 17:35 +00:00)
|
|
61
|
-
- [#20](https://github.com/canboat/canboatjs/pull/20) fix: stops working with invalid/unknown/unrecognized data (@sbender9)
|
|
62
|
-
|
|
63
|
-
### v1.1.1 (2018/08/16 16:08 +00:00)
|
|
64
|
-
- [#18](https://github.com/canboat/canboatjs/pull/18) feature: include the actisence device path in the status message (@sbender9)
|
|
65
|
-
|
|
66
|
-
### v1.1.0 (2018/08/15 17:59 +00:00)
|
|
67
|
-
- [#17](https://github.com/canboat/canboatjs/pull/17) feature: provide connection status to the server (@sbender9)
|
|
68
|
-
|
|
69
|
-
### v1.0.4 (2018/08/12 14:50 +00:00)
|
|
70
|
-
- [#16](https://github.com/canboat/canboatjs/pull/16) fix: bin/candumpanalyzerjs not working because of missing fromPgnStream.js (@sbender9)
|
|
71
|
-
|
|
72
|
-
### v1.0.3 (2018/05/29 19:19 +00:00)
|
|
73
|
-
- [#15](https://github.com/canboat/canboatjs/pull/15) fix: actisense input broken when logging is turned on in node server (@sbender9)
|
|
74
|
-
|
|
75
|
-
### v1.0.1 (2018/04/19 20:46 +00:00)
|
|
76
|
-
- [#14](https://github.com/canboat/canboatjs/pull/14) fix: timestamp should be in iso format when parsing $PCDIN sentences (@sarfata)
|
|
77
|
-
- [#11](https://github.com/canboat/canboatjs/pull/11) README s/inteded/intended (@webmasterkai)
|
|
78
|
-
|
|
79
|
-
### v1.0.0 (2018/04/06 15:02 +00:00)
|
|
80
|
-
- [#10](https://github.com/canboat/canboatjs/pull/10) feature: add command line actisense serial reader (@sbender9)
|
|
81
|
-
|
|
82
|
-
### v0.0.12 (2018/04/01 00:55 +00:00)
|
|
83
|
-
- [#8](https://github.com/canboat/canboatjs/pull/8) fix: catch and report exceptions when connecting to canbus (@sbender9)
|
|
84
|
-
- [#9](https://github.com/canboat/canboatjs/pull/9) fix: Alternator Potential should be signed in pgn 127489 (@sbender9)
|
|
85
|
-
- [#7](https://github.com/canboat/canboatjs/pull/7) fix: ignore messages sent by myself (@sbender9)
|
|
86
|
-
- [#6](https://github.com/canboat/canboatjs/pull/6) feature: add support for $PCDIN (@sbender9)
|
|
87
|
-
|
|
88
|
-
### v0.0.10 (2018/02/21 22:28 +00:00)
|
|
89
|
-
- [#5](https://github.com/canboat/canboatjs/pull/5) feature: add support for "ASCII string starting with length byte" fields (@sbender9)
|
|
90
|
-
|
|
91
|
-
### v0.0.9 (2018/02/05 02:56 +00:00)
|
|
92
|
-
- [#4](https://github.com/canboat/canboatjs/pull/4) feature: support latest node server plugin api (@sbender9)
|
|
93
|
-
|
|
94
|
-
### v0.0.6 (2018/02/03 12:49 +00:00)
|
|
95
|
-
- [#3](https://github.com/canboat/canboatjs/pull/3) Version 0.0.4 (@sbender9)
|
|
96
|
-
|
|
97
|
-
### v0.0.4 (2018/02/02 23:51 +00:00)
|
|
98
|
-
- [#2](https://github.com/canboat/canboatjs/pull/2) feature: use socketcan package for canbus access (@sbender9)
|
|
99
|
-
|
|
100
|
-
### v0.0.3 (2018/02/02 00:46 +00:00)
|
|
101
|
-
- [#1](https://github.com/canboat/canboatjs/pull/1) feature: canbus support (@sbender9)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"candumpanalyzerjs.d.ts","sourceRoot":"","sources":["../../lib/bin/candumpanalyzerjs.ts"],"names":[],"mappings":""}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const fromPgnStream_1 = require("../fromPgnStream");
|
|
8
|
-
const stream_1 = require("stream");
|
|
9
|
-
const canbus_1 = require("../canbus");
|
|
10
|
-
const readline_1 = __importDefault(require("readline"));
|
|
11
|
-
const fromPgnStream = new fromPgnStream_1.fromPgnStream();
|
|
12
|
-
const canbus = new canbus_1.CanbusStream({ fromStdIn: true });
|
|
13
|
-
const toStringTr = new stream_1.Transform({
|
|
14
|
-
objectMode: true,
|
|
15
|
-
transform(chunk, encoding, callback) {
|
|
16
|
-
this.push(JSON.stringify(chunk) + "\n");
|
|
17
|
-
callback();
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
canbus.pipe(fromPgnStream);
|
|
21
|
-
fromPgnStream.pipe(toStringTr).pipe(process.stdout);
|
|
22
|
-
var rl = readline_1.default.createInterface({
|
|
23
|
-
input: process.stdin,
|
|
24
|
-
output: process.stdout,
|
|
25
|
-
terminal: false
|
|
26
|
-
});
|
|
27
|
-
var input = [];
|
|
28
|
-
rl.on('line', function (line) {
|
|
29
|
-
canbus.write(line);
|
|
30
|
-
});
|
|
31
|
-
//# sourceMappingURL=candumpanalyzerjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"candumpanalyzerjs.js","sourceRoot":"","sources":["../../lib/bin/candumpanalyzerjs.ts"],"names":[],"mappings":";;;;;;AAEA,oDAAiE;AACjE,mCAAkC;AAClC,sCAAwC;AACxC,wDAA+B;AAE/B,MAAM,aAAa,GAAG,IAAK,6BAAqB,EAAE,CAAA;AAClD,MAAM,MAAM,GAAG,IAAK,qBAAoB,CAAC,EAAC,SAAS,EAAC,IAAI,EAAC,CAAC,CAAA;AAE1D,MAAM,UAAU,GAAG,IAAI,kBAAS,CAAC;IAC/B,UAAU,EAAE,IAAI;IAEhB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ;QACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACxC,QAAQ,EAAE,CAAC;IACb,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;AAC1B,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAEnD,IAAI,EAAE,GAAG,kBAAQ,CAAC,eAAe,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAA;AAEF,IAAI,KAAK,GAAG,EAAE,CAAA;AACd,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,IAAI;IAC1B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC,CAAC,CAAA"}
|
package/dist/ncanbus.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Transform } from 'stream';
|
|
2
|
-
export declare function CanbusStream(options: any): Canbus;
|
|
3
|
-
export declare class Canbus extends Transform {
|
|
4
|
-
plainText: boolean;
|
|
5
|
-
options: any;
|
|
6
|
-
setProviderStatus: any;
|
|
7
|
-
setProviderError: any;
|
|
8
|
-
socketcan: any;
|
|
9
|
-
noDataInterval: any;
|
|
10
|
-
channel: any;
|
|
11
|
-
lastDataReceived: number | undefined;
|
|
12
|
-
constructor(options: any);
|
|
13
|
-
start(): void;
|
|
14
|
-
connect(): boolean;
|
|
15
|
-
sendPGN(msg: any, force?: boolean): void;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=ncanbus.d.ts.map
|
package/dist/ncanbus.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ncanbus.d.ts","sourceRoot":"","sources":["../lib/ncanbus.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAWlC,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,UAExC;AAED,qBAAa,MAAO,SAAQ,SAAS;IACnC,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,GAAG,CAAA;IACZ,iBAAiB,EAAE,GAAG,CAAA;IACtB,gBAAgB,EAAE,GAAG,CAAA;IACrB,SAAS,EAAE,GAAG,CAAA;IACd,cAAc,EAAE,GAAG,CAAA;IACnB,OAAO,EAAE,GAAG,CAAA;IACZ,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAA;gBAExB,OAAO,EAAE,GAAG;IA2ExB,KAAK;IAEL,OAAO,IAAI,OAAO;IAIlB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,GAAE,OAAe;CACzC"}
|
package/dist/ncanbus.js
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Canbus = void 0;
|
|
4
|
-
exports.CanbusStream = CanbusStream;
|
|
5
|
-
const utilities_1 = require("./utilities");
|
|
6
|
-
const stream_1 = require("stream");
|
|
7
|
-
const debug = (0, utilities_1.createDebug)('canboatjs:canbus');
|
|
8
|
-
function CanbusStream(options) {
|
|
9
|
-
return new Canbus(options);
|
|
10
|
-
}
|
|
11
|
-
class Canbus extends stream_1.Transform {
|
|
12
|
-
plainText;
|
|
13
|
-
options;
|
|
14
|
-
setProviderStatus;
|
|
15
|
-
setProviderError;
|
|
16
|
-
socketcan;
|
|
17
|
-
noDataInterval;
|
|
18
|
-
channel;
|
|
19
|
-
lastDataReceived;
|
|
20
|
-
constructor(options) {
|
|
21
|
-
super();
|
|
22
|
-
this.plainText = false;
|
|
23
|
-
this.options = options;
|
|
24
|
-
this.start();
|
|
25
|
-
this.setProviderStatus =
|
|
26
|
-
options.app && options.app.setProviderStatus
|
|
27
|
-
? (msg) => {
|
|
28
|
-
options.app.setProviderStatus(options.providerId, msg);
|
|
29
|
-
}
|
|
30
|
-
: () => { };
|
|
31
|
-
this.setProviderError =
|
|
32
|
-
options.app && options.app.setProviderError
|
|
33
|
-
? (msg) => {
|
|
34
|
-
options.app.setProviderError(options.providerId, msg);
|
|
35
|
-
}
|
|
36
|
-
: () => { };
|
|
37
|
-
if (options.fromStdIn) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
try {
|
|
41
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
42
|
-
this.socketcan = require('socketcan');
|
|
43
|
-
}
|
|
44
|
-
catch (err) {
|
|
45
|
-
console.error(err);
|
|
46
|
-
const msg = 'unable to load native socketcan interface';
|
|
47
|
-
console.error(msg);
|
|
48
|
-
}
|
|
49
|
-
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
50
|
-
const that = this;
|
|
51
|
-
if (options.app) {
|
|
52
|
-
options.app.on(options.outEvent || 'nmea2000out', (msg) => {
|
|
53
|
-
that.sendPGN(msg);
|
|
54
|
-
});
|
|
55
|
-
options.app.on(options.jsonOutEvent || 'nmea2000JsonOut', (msg) => {
|
|
56
|
-
that.sendPGN(msg);
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
if (this.connect() == false) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
const noDataReceivedTimeout = typeof options.noDataReceivedTimeout !== 'undefined'
|
|
63
|
-
? options.noDataReceivedTimeout
|
|
64
|
-
: -1;
|
|
65
|
-
if (noDataReceivedTimeout > 0) {
|
|
66
|
-
this.noDataInterval = setInterval(() => {
|
|
67
|
-
if (this.channel &&
|
|
68
|
-
this.lastDataReceived &&
|
|
69
|
-
Date.now() - this.lastDataReceived > noDataReceivedTimeout * 1000) {
|
|
70
|
-
const channel = this.channel;
|
|
71
|
-
delete this.channel;
|
|
72
|
-
try {
|
|
73
|
-
channel.stop();
|
|
74
|
-
}
|
|
75
|
-
catch (_error) { }
|
|
76
|
-
this.setProviderError('No data received, retrying...');
|
|
77
|
-
if (this.options.app) {
|
|
78
|
-
console.error('No data received, retrying...');
|
|
79
|
-
}
|
|
80
|
-
this.connect();
|
|
81
|
-
}
|
|
82
|
-
}, noDataReceivedTimeout * 1000);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
start() { }
|
|
86
|
-
connect() {
|
|
87
|
-
return true;
|
|
88
|
-
}
|
|
89
|
-
sendPGN(msg, force = false) { }
|
|
90
|
-
}
|
|
91
|
-
exports.Canbus = Canbus;
|
|
92
|
-
//# sourceMappingURL=ncanbus.js.map
|
package/dist/ncanbus.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ncanbus.js","sourceRoot":"","sources":["../lib/ncanbus.ts"],"names":[],"mappings":"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"}
|