@nordicsemiconductor/pc-nrfconnect-shared 134.0.0 → 136.0.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.
- package/Changelog.md +28 -0
- package/nrfutil/device/deviceInfo.ts +17 -12
- package/package.json +2 -2
- package/scripts/release-shared.test.ts +7 -7
- package/scripts/release-shared.ts +3 -1
- package/src/Device/initPacket.ts +1 -1
- package/src/Device/sdfuOperations.ts +4 -4
- package/src/utils/useStopwatch.test.tsx +2 -2
- package/src/utils/useStopwatch.ts +3 -3
- package/typings/generated/nrfutil/device/deviceInfo.d.ts.map +1 -1
- package/typings/generated/scripts/release-shared.d.ts.map +1 -1
- package/typings/generated/src/Device/initPacket.d.ts +1 -1
- package/typings/generated/src/Device/initPacket.d.ts.map +1 -1
- package/coverage/cobertura-coverage.xml +0 -9010
- package/typings/nrf-intel-hex.d.ts +0 -58
package/Changelog.md
CHANGED
|
@@ -7,6 +7,34 @@ This project does _not_ adhere to
|
|
|
7
7
|
[Semantic Versioning](https://semver.org/spec/v2.0.0.html) but contrary to it
|
|
8
8
|
every new version is a new major version.
|
|
9
9
|
|
|
10
|
+
## 136.0.0 - 2023-12-01
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- `useStopWatch` milliseconds was not correctly calculated
|
|
15
|
+
- External JLink devices would not connect to apps device list properly if
|
|
16
|
+
selected before they are connected to the debug-in heder of the device
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- `useStopWatch` reset and start no longer force a rerender if these are a
|
|
21
|
+
dependency of a useEffect
|
|
22
|
+
- `useStopWatch` start optional time param no longer default to the last time
|
|
23
|
+
when paused but 0.
|
|
24
|
+
- `nrfutil device` `device-info` return undefined if reading info throws
|
|
25
|
+
|
|
26
|
+
### Steps to upgrade when using this package
|
|
27
|
+
|
|
28
|
+
- `useStopWatch` If start() was used after a pause() with no call to reset()
|
|
29
|
+
start need to be called with time i.e. start(time)
|
|
30
|
+
|
|
31
|
+
## 135.0.0 - 2023-11-29
|
|
32
|
+
|
|
33
|
+
### Changed
|
|
34
|
+
|
|
35
|
+
- Updated `nrf-intel-hex` to the latest version which slightly changed some
|
|
36
|
+
types (from `Buffer` to `Uint8Array`) because this was corrected there.
|
|
37
|
+
|
|
10
38
|
## 134.0.0 - 2023-11-22
|
|
11
39
|
|
|
12
40
|
### Added
|
|
@@ -56,15 +56,20 @@ export default async (
|
|
|
56
56
|
core?: DeviceCore,
|
|
57
57
|
onProgress?: (progress: Progress) => void,
|
|
58
58
|
controller?: AbortController
|
|
59
|
-
) =>
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
59
|
+
) => {
|
|
60
|
+
try {
|
|
61
|
+
return device.traits.jlink || device.traits.nordicDfu
|
|
62
|
+
? (
|
|
63
|
+
await deviceSingleTaskEndOperation<DeviceInfoRaw>(
|
|
64
|
+
device,
|
|
65
|
+
'device-info',
|
|
66
|
+
onProgress,
|
|
67
|
+
controller,
|
|
68
|
+
core ? ['--core', core] : []
|
|
69
|
+
)
|
|
70
|
+
).deviceInfo
|
|
71
|
+
: undefined;
|
|
72
|
+
} catch (_) {
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nordicsemiconductor/pc-nrfconnect-shared",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "136.0.0",
|
|
4
4
|
"description": "Shared commodities for developing pc-nrfconnect-* packages",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"lodash.range": "3.2.0",
|
|
91
91
|
"mousetrap": "1.6.5",
|
|
92
92
|
"npm-run-all2": "6.0.5",
|
|
93
|
-
"nrf-intel-hex": "^1.
|
|
93
|
+
"nrf-intel-hex": "^1.4.0",
|
|
94
94
|
"postcss": "8.4.24",
|
|
95
95
|
"postcss-modules": "^6.0.0",
|
|
96
96
|
"prettier": "2.8.8",
|
|
@@ -52,7 +52,7 @@ describe('checking Changelod.md', () => {
|
|
|
52
52
|
|
|
53
53
|
All notable changes to this project will be documented in this file.
|
|
54
54
|
|
|
55
|
-
## 34 - 2022-03-10
|
|
55
|
+
## 34.0.0 - 2022-03-10
|
|
56
56
|
|
|
57
57
|
### Changed
|
|
58
58
|
|
|
@@ -72,7 +72,7 @@ All notable changes to this project will be documented in this file.
|
|
|
72
72
|
|
|
73
73
|
All notable changes to this project will be documented in this file.
|
|
74
74
|
|
|
75
|
-
## 33 - 2022-02-01
|
|
75
|
+
## 33.0.0 - 2022-02-01
|
|
76
76
|
|
|
77
77
|
### Changed
|
|
78
78
|
|
|
@@ -92,9 +92,9 @@ All notable changes to this project will be documented in this file.
|
|
|
92
92
|
|
|
93
93
|
All notable changes to this project will be documented in this file.
|
|
94
94
|
|
|
95
|
-
## 34 - 2022-03-10
|
|
95
|
+
## 34.0.0 - 2022-03-10
|
|
96
96
|
|
|
97
|
-
## 33 - 2022-02-01`;
|
|
97
|
+
## 33.0.0 - 2022-02-01`;
|
|
98
98
|
|
|
99
99
|
expect(
|
|
100
100
|
latestEntryIsNotEmpty({
|
|
@@ -110,13 +110,13 @@ describe('Parsing Changelog.md', () => {
|
|
|
110
110
|
|
|
111
111
|
All notable changes to this project will be documented in this file.
|
|
112
112
|
|
|
113
|
-
## 34 - 2023-04-20
|
|
113
|
+
## 34.0.0 - 2023-04-20
|
|
114
114
|
|
|
115
115
|
### Changed
|
|
116
116
|
|
|
117
117
|
- Something
|
|
118
118
|
|
|
119
|
-
## 33 - 2023-04-19
|
|
119
|
+
## 33.0.0 - 2023-04-19
|
|
120
120
|
|
|
121
121
|
### Added
|
|
122
122
|
|
|
@@ -125,7 +125,7 @@ All notable changes to this project will be documented in this file.
|
|
|
125
125
|
|
|
126
126
|
test('Extracting the latest entry', () => {
|
|
127
127
|
expect(getLatestEntry(changelog)).toMatchObject({
|
|
128
|
-
header: '34 - 2023-04-20',
|
|
128
|
+
header: '34.0.0 - 2023-04-20',
|
|
129
129
|
content: '### Changed\n\n- Something',
|
|
130
130
|
});
|
|
131
131
|
});
|
|
@@ -135,7 +135,9 @@ export const latestHeaderIsCorrect = (
|
|
|
135
135
|
changelog: getLatestChangelog(),
|
|
136
136
|
}
|
|
137
137
|
) => {
|
|
138
|
-
const expectedHeaderline = `${expectedVersionNumber} - ${withoutTime(
|
|
138
|
+
const expectedHeaderline = `${expectedVersionNumber}.0.0 - ${withoutTime(
|
|
139
|
+
now
|
|
140
|
+
)}`;
|
|
139
141
|
const actualHeaderline = getLatestEntry(changelog).header;
|
|
140
142
|
|
|
141
143
|
return equality(
|
package/src/Device/initPacket.ts
CHANGED
|
@@ -317,7 +317,7 @@ function parseFirmwareImage(firmware: Buffer | string) {
|
|
|
317
317
|
return memMap.slicePad(
|
|
318
318
|
startAddress,
|
|
319
319
|
Math.ceil((endAddress - startAddress) / 4) * 4
|
|
320
|
-
)
|
|
320
|
+
);
|
|
321
321
|
}
|
|
322
322
|
|
|
323
323
|
function calculateSHA256Hash(image: Uint8Array) {
|
|
@@ -327,7 +327,7 @@ function calculateSHA256Hash(image: Uint8Array) {
|
|
|
327
327
|
}
|
|
328
328
|
|
|
329
329
|
interface DfuData {
|
|
330
|
-
application?: { bin:
|
|
330
|
+
application?: { bin: Uint8Array; dat: Uint8Array };
|
|
331
331
|
softdevice?: { bin: Uint8Array; dat: Uint8Array };
|
|
332
332
|
params?: InitPacket;
|
|
333
333
|
}
|
|
@@ -376,8 +376,8 @@ const createDfuZip = (dfuImages: DfuImage[]) =>
|
|
|
376
376
|
bin_file: 'application.bin',
|
|
377
377
|
dat_file: 'application.dat',
|
|
378
378
|
};
|
|
379
|
-
zip.addFile('application.bin', data.application.bin);
|
|
380
|
-
zip.addFile('application.dat', data.application.dat);
|
|
379
|
+
zip.addFile('application.bin', data.application.bin as Buffer);
|
|
380
|
+
zip.addFile('application.dat', data.application.dat as Buffer);
|
|
381
381
|
}
|
|
382
382
|
|
|
383
383
|
if (data.softdevice) {
|
|
@@ -88,7 +88,7 @@ describe('Stop Watch', () => {
|
|
|
88
88
|
expect(stopwatch.isRunning).toBeFalsy();
|
|
89
89
|
});
|
|
90
90
|
|
|
91
|
-
test('Start a paused timer will continue timer', () => {
|
|
91
|
+
test('Start a paused timer will continue timer from provided time', () => {
|
|
92
92
|
const stopwatch = setup({
|
|
93
93
|
autoStart: true,
|
|
94
94
|
resolution: 1000,
|
|
@@ -120,7 +120,7 @@ describe('Stop Watch', () => {
|
|
|
120
120
|
mockNow.mockReturnValue(5000);
|
|
121
121
|
|
|
122
122
|
act(() => {
|
|
123
|
-
stopwatch.start();
|
|
123
|
+
stopwatch.start(500);
|
|
124
124
|
stopwatch;
|
|
125
125
|
});
|
|
126
126
|
|
|
@@ -37,7 +37,7 @@ const splitMS = (ms: number) => {
|
|
|
37
37
|
ms -= minutes * 60 * 1000;
|
|
38
38
|
|
|
39
39
|
const seconds = Math.floor(ms / 1000);
|
|
40
|
-
const millisecond = ms - seconds *
|
|
40
|
+
const millisecond = ms - seconds * 1000;
|
|
41
41
|
|
|
42
42
|
return {
|
|
43
43
|
time,
|
|
@@ -89,7 +89,7 @@ export default ({
|
|
|
89
89
|
);
|
|
90
90
|
|
|
91
91
|
const start = useCallback(
|
|
92
|
-
(elapsedTime =
|
|
92
|
+
(elapsedTime = 0) => {
|
|
93
93
|
if (pauseTimeout.current === null) {
|
|
94
94
|
previousTickTime.current = timer.now();
|
|
95
95
|
expectedTickTime.current =
|
|
@@ -98,7 +98,7 @@ export default ({
|
|
|
98
98
|
pauseTimeout.current = nextTick(elapsedTime);
|
|
99
99
|
}
|
|
100
100
|
},
|
|
101
|
-
[nextTick, resolution,
|
|
101
|
+
[nextTick, resolution, timer]
|
|
102
102
|
);
|
|
103
103
|
|
|
104
104
|
const pause = useCallback(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceInfo.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/deviceInfo.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACH,UAAU,EAEV,aAAa,EAChB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,MAAM;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CAC1B;AACD,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,cAAc,CAAC,EAAE,cAAc,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;CAC1B;iCAGW,aAAa,SACd,UAAU,2BACO,QAAQ,KAAK,IAAI,4BAC5B,eAAe;AAJhC,
|
|
1
|
+
{"version":3,"file":"deviceInfo.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/deviceInfo.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACH,UAAU,EAEV,aAAa,EAChB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,MAAM;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CAC1B;AACD,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,cAAc,CAAC,EAAE,cAAc,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;CAC1B;iCAGW,aAAa,SACd,UAAU,2BACO,QAAQ,KAAK,IAAI,4BAC5B,eAAe;AAJhC,wBAqBE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release-shared.d.ts","sourceRoot":"","sources":["../../../scripts/release-shared.ts"],"names":[],"mappings":";AA+CA,eAAO,MAAM,oBAAoB;;;;;YAgBhC,CAAC;AAmBF,eAAO,MAAM,oBAAoB,0BACN,MAAM;oBAtDN,MAAM;;aAqEhC,CAAC;AAIF,eAAO,MAAM,cAAc,cAAe,MAAM;;;CAO/C,CAAC;AAEF,eAAO,MAAM,qBAAqB;oBAId,MAAM,KAAK,IAAI;eACpB,MAAM;aASpB,CAAC;AAIF,eAAO,MAAM,qBAAqB,0BACP,MAAM;oBArGN,MAAM;;;
|
|
1
|
+
{"version":3,"file":"release-shared.d.ts","sourceRoot":"","sources":["../../../scripts/release-shared.ts"],"names":[],"mappings":";AA+CA,eAAO,MAAM,oBAAoB;;;;;YAgBhC,CAAC;AAmBF,eAAO,MAAM,oBAAoB,0BACN,MAAM;oBAtDN,MAAM;;aAqEhC,CAAC;AAIF,eAAO,MAAM,cAAc,cAAe,MAAM;;;CAO/C,CAAC;AAEF,eAAO,MAAM,qBAAqB;oBAId,MAAM,KAAK,IAAI;eACpB,MAAM;aASpB,CAAC;AAIF,eAAO,MAAM,qBAAqB,0BACP,MAAM;oBArGN,MAAM;;;aAuHhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,0BACJ,MAAM;oBA1HN,MAAM;;;aAkIyC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initPacket.d.ts","sourceRoot":"","sources":["../../../../src/Device/initPacket.ts"],"names":[],"mappings":";AAMA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAMlC,oBAAY,MAAM;IACd,WAAW,IAAA;IACX,UAAU,IAAA;IACV,UAAU,IAAA;IACV,qBAAqB,IAAA;CACxB;AAED,oBAAY,QAAQ;IAChB,OAAO,IAAA;IACP,GAAG,IAAA;IACH,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;CACT;AAED,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,eAAO,MAAM,aAAa;;;CAGzB,CAAC;AAEF,MAAM,WAAW,UAAU;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,EAAE,CAAC;CAClB;AAED,eAAO,MAAM,iBAAiB,EAAE,UAa/B,CAAC;AAEF,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"initPacket.d.ts","sourceRoot":"","sources":["../../../../src/Device/initPacket.ts"],"names":[],"mappings":";AAMA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAMlC,oBAAY,MAAM;IACd,WAAW,IAAA;IACX,UAAU,IAAA;IACV,UAAU,IAAA;IACV,qBAAqB,IAAA;CACxB;AAED,oBAAY,QAAQ;IAChB,OAAO,IAAA;IACP,GAAG,IAAA;IACH,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;CACT;AAED,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,eAAO,MAAM,aAAa;;;CAGzB,CAAC;AAEF,MAAM,WAAW,UAAU;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,EAAE,CAAC;CAClB;AAED,eAAO,MAAM,iBAAiB,EAAE,UAa/B,CAAC;AAEF,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,UAAU,CAAC;CAC7B;AAoHD;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,YACjB,MAAM,iBACA,MAAM,aACV,EAAE,KACd,SAAS,OA8BX,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,YACvB,MAAM,iBACA,MAAM,aACV,EAAE,KACd,UAKF,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,gBAAgB,cACd,MAAM,GAAG,SAAS,aAClB,MAAM,GAAG,SAAS,SACtB,MAAM,EAAE,GAAG,SAAS,UACnB,MAAM,GAAG,SAAS,UAClB,MAAM,GAAG,SAAS,UAClB,MAAM,GAAG,SAAS,WACjB,MAAM,GAAG,SAAS,YACjB,MAAM,GAAG,SAAS,QACtB,MAAM,GAAG,SAAS,WACf,OAAO,iBACD,MAAM,GAAG,SAAS,aACtB,EAAE,GAAG,SAAS,KAC1B,SAAS,OAsCX,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,sBAAsB,cACpB,MAAM,aACN,MAAM,SACV,MAAM,EAAE,UACP,MAAM,UACN,MAAM,UACN,MAAM,WACL,MAAM,YACL,MAAM,QACV,MAAM,WACH,OAAO,iBACD,MAAM,aACV,EAAE,KACd,MAkBF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,iBACrB,UAAU,KACzB,UAkBF,CAAC"}
|