@fluidframework/local-driver 2.23.0 → 2.31.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/.eslintrc.cjs +0 -1
- package/CHANGELOG.md +128 -120
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +13 -16
- package/prettier.config.cjs +0 -8
package/.eslintrc.cjs
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @fluidframework/local-driver
|
|
2
2
|
|
|
3
|
+
## 2.31.0
|
|
4
|
+
|
|
5
|
+
Dependency updates only.
|
|
6
|
+
|
|
7
|
+
## 2.30.0
|
|
8
|
+
|
|
9
|
+
Dependency updates only.
|
|
10
|
+
|
|
3
11
|
## 2.23.0
|
|
4
12
|
|
|
5
13
|
Dependency updates only.
|
|
@@ -56,34 +64,34 @@ Dependency updates only.
|
|
|
56
64
|
|
|
57
65
|
### Minor Changes
|
|
58
66
|
|
|
59
|
-
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
-
|
|
85
|
-
|
|
86
|
-
|
|
67
|
+
- Updated server dependencies ([#21514](https://github.com/microsoft/FluidFramework/pull/21514)) [9629f1d93a](https://github.com/microsoft/FluidFramework/commit/9629f1d93a7e412c0cb2f65cc21da0c95ff8981d)
|
|
68
|
+
|
|
69
|
+
The following Fluid server dependencies have been updated to the latest version, 5.0.0. [See the full changelog.](https://github.com/microsoft/FluidFramework/blob/main/server/routerlicious/RELEASE_NOTES/5.0.0.md)
|
|
70
|
+
|
|
71
|
+
- @fluidframework/gitresources
|
|
72
|
+
- @fluidframework/server-kafka-orderer
|
|
73
|
+
- @fluidframework/server-lambdas
|
|
74
|
+
- @fluidframework/server-lambdas-driver
|
|
75
|
+
- @fluidframework/server-local-server
|
|
76
|
+
- @fluidframework/server-memory-orderer
|
|
77
|
+
- @fluidframework/protocol-base
|
|
78
|
+
- @fluidframework/server-routerlicious
|
|
79
|
+
- @fluidframework/server-routerlicious-base
|
|
80
|
+
- @fluidframework/server-services
|
|
81
|
+
- @fluidframework/server-services-client
|
|
82
|
+
- @fluidframework/server-services-core
|
|
83
|
+
- @fluidframework/server-services-ordering-kafkanode
|
|
84
|
+
- @fluidframework/server-services-ordering-rdkafka
|
|
85
|
+
- @fluidframework/server-services-ordering-zookeeper
|
|
86
|
+
- @fluidframework/server-services-shared
|
|
87
|
+
- @fluidframework/server-services-telemetry
|
|
88
|
+
- @fluidframework/server-services-utils
|
|
89
|
+
- @fluidframework/server-test-utils
|
|
90
|
+
- tinylicious
|
|
91
|
+
|
|
92
|
+
- Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
|
|
93
|
+
|
|
94
|
+
Update package implementations to use TypeScript 5.4.5.
|
|
87
95
|
|
|
88
96
|
## 2.0.0-rc.4.0.0
|
|
89
97
|
|
|
@@ -93,94 +101,94 @@ Dependency updates only.
|
|
|
93
101
|
|
|
94
102
|
### Major Changes
|
|
95
103
|
|
|
96
|
-
-
|
|
104
|
+
- Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
97
105
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
106
|
+
Fluid Framework packages have been updated to use the [package.json "exports"
|
|
107
|
+
field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
|
|
108
|
+
TypeScript types and implementation code.
|
|
101
109
|
|
|
102
|
-
|
|
110
|
+
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
103
111
|
|
|
104
|
-
|
|
105
|
-
|
|
112
|
+
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
113
|
+
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
106
114
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
115
|
+
We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
|
|
116
|
+
for use with modern versions of Node.js _and_ Bundlers.
|
|
117
|
+
[See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
|
|
118
|
+
regarding the module and moduleResolution options.
|
|
111
119
|
|
|
112
|
-
|
|
113
|
-
|
|
120
|
+
**Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
|
|
121
|
+
to distinguish stable APIs from those that are in development.**
|
|
114
122
|
|
|
115
123
|
### Minor Changes
|
|
116
124
|
|
|
117
|
-
-
|
|
125
|
+
- driver-definitions: update submitSignal content type to string [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
118
126
|
|
|
119
|
-
|
|
127
|
+
Change IDocumentDeltaConnection.submitSignal's content argument type to string which represents actual/known use.
|
|
120
128
|
|
|
121
129
|
## 2.0.0-rc.2.0.0
|
|
122
130
|
|
|
123
131
|
### Minor Changes
|
|
124
132
|
|
|
125
|
-
-
|
|
133
|
+
- Resolved URLs no longer use non-standard protocols ([#19840](https://github.com/microsoft/FluidFramework/issues/19840)) [9d3d185183](https://github.com/microsoft/FluidFramework/commits/9d3d1851830d953792a6dfad60dde6f1c59480de)
|
|
126
134
|
|
|
127
|
-
|
|
135
|
+
Previously, `IResolvedUrl.url` could use a non-standard protocol like `fluid://`, `fluid-odsp://`, or `fluid-test://`. These have been replaced with `https://` to permit standards-compliant URL parsing.
|
|
128
136
|
|
|
129
|
-
-
|
|
137
|
+
- driver-definitions: repositoryUrl removed from IDocumentStorageService ([#19522](https://github.com/microsoft/FluidFramework/issues/19522)) [90eb3c9d33](https://github.com/microsoft/FluidFramework/commits/90eb3c9d33d80e24caa1393a50f414c5602f6aa3)
|
|
130
138
|
|
|
131
|
-
|
|
139
|
+
The `repositoryUrl` member of `IDocumentStorageService` was unused and always equal to the empty string. It has been removed.
|
|
132
140
|
|
|
133
|
-
-
|
|
141
|
+
- container-definitions: Added containerMetadata prop on IContainer interface ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
|
|
134
142
|
|
|
135
|
-
|
|
143
|
+
Added `containerMetadata` prop on IContainer interface.
|
|
136
144
|
|
|
137
|
-
-
|
|
145
|
+
- runtime-definitions: Moved ISignalEnvelope interface to core-interfaces ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
|
|
138
146
|
|
|
139
|
-
|
|
147
|
+
The `ISignalEnvelope` interface has been moved to the @fluidframework/core-interfaces package.
|
|
140
148
|
|
|
141
149
|
## 2.0.0-rc.1.0.0
|
|
142
150
|
|
|
143
151
|
### Minor Changes
|
|
144
152
|
|
|
145
|
-
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
153
|
+
- Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
154
|
+
|
|
155
|
+
The following Fluid server dependencies have been updated to the latest version, 3.0.0. [See the full changelog.](https://github.com/microsoft/FluidFramework/releases/tag/server_v3.0.0)
|
|
156
|
+
|
|
157
|
+
- @fluidframework/gitresources
|
|
158
|
+
- @fluidframework/server-kafka-orderer
|
|
159
|
+
- @fluidframework/server-lambdas
|
|
160
|
+
- @fluidframework/server-lambdas-driver
|
|
161
|
+
- @fluidframework/server-local-server
|
|
162
|
+
- @fluidframework/server-memory-orderer
|
|
163
|
+
- @fluidframework/protocol-base
|
|
164
|
+
- @fluidframework/server-routerlicious
|
|
165
|
+
- @fluidframework/server-routerlicious-base
|
|
166
|
+
- @fluidframework/server-services
|
|
167
|
+
- @fluidframework/server-services-client
|
|
168
|
+
- @fluidframework/server-services-core
|
|
169
|
+
- @fluidframework/server-services-ordering-kafkanode
|
|
170
|
+
- @fluidframework/server-services-ordering-rdkafka
|
|
171
|
+
- @fluidframework/server-services-ordering-zookeeper
|
|
172
|
+
- @fluidframework/server-services-shared
|
|
173
|
+
- @fluidframework/server-services-telemetry
|
|
174
|
+
- @fluidframework/server-services-utils
|
|
175
|
+
- @fluidframework/server-test-utils
|
|
176
|
+
- tinylicious
|
|
177
|
+
|
|
178
|
+
- Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
|
|
179
|
+
|
|
180
|
+
The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
|
|
181
|
+
changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
|
|
174
182
|
|
|
175
183
|
## 2.0.0-internal.8.0.0
|
|
176
184
|
|
|
177
185
|
### Major Changes
|
|
178
186
|
|
|
179
|
-
-
|
|
187
|
+
- local-driver: LocalDocumentStorageService class property type changes [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
|
|
180
188
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
189
|
+
The `repositoryUrl` property on the `LocalDocumentStorageService` class has changed from a property getter to a
|
|
190
|
+
`readonly` field. While this is an API change, there should be no changes required on the consumer side since calling
|
|
191
|
+
code should remain the same.
|
|
184
192
|
|
|
185
193
|
## 2.0.0-internal.7.4.0
|
|
186
194
|
|
|
@@ -202,49 +210,49 @@ Dependency updates only.
|
|
|
202
210
|
|
|
203
211
|
### Major Changes
|
|
204
212
|
|
|
205
|
-
-
|
|
213
|
+
- Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
206
214
|
|
|
207
|
-
|
|
215
|
+
This included the following changes from the protocol-definitions release:
|
|
208
216
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
217
|
+
- Updating signal interfaces for some planned improvements. The intention is split the interface between signals
|
|
218
|
+
submitted by clients to the server and the resulting signals sent from the server to clients.
|
|
219
|
+
- A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
|
|
220
|
+
been added, which will be the typing for signals sent from the client to the server. Both extend a new
|
|
221
|
+
ISignalMessageBase interface that contains common members.
|
|
222
|
+
- The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
|
|
215
223
|
|
|
216
|
-
-
|
|
224
|
+
- routerlicious-driver: remove dead blob aggregation concepts and code [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
217
225
|
|
|
218
|
-
|
|
226
|
+
Dead concepts blob aggregation like `aggregateBlobsSmallerThanBytes` and `minBlobSize` have been removed.
|
|
219
227
|
|
|
220
|
-
-
|
|
228
|
+
- Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
221
229
|
|
|
222
|
-
|
|
230
|
+
Dependencies on the following Fluid server package have been updated to version 2.0.1:
|
|
223
231
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
232
|
+
- @fluidframework/gitresources: 2.0.1
|
|
233
|
+
- @fluidframework/server-kafka-orderer: 2.0.1
|
|
234
|
+
- @fluidframework/server-lambdas: 2.0.1
|
|
235
|
+
- @fluidframework/server-lambdas-driver: 2.0.1
|
|
236
|
+
- @fluidframework/server-local-server: 2.0.1
|
|
237
|
+
- @fluidframework/server-memory-orderer: 2.0.1
|
|
238
|
+
- @fluidframework/protocol-base: 2.0.1
|
|
239
|
+
- @fluidframework/server-routerlicious: 2.0.1
|
|
240
|
+
- @fluidframework/server-routerlicious-base: 2.0.1
|
|
241
|
+
- @fluidframework/server-services: 2.0.1
|
|
242
|
+
- @fluidframework/server-services-client: 2.0.1
|
|
243
|
+
- @fluidframework/server-services-core: 2.0.1
|
|
244
|
+
- @fluidframework/server-services-ordering-kafkanode: 2.0.1
|
|
245
|
+
- @fluidframework/server-services-ordering-rdkafka: 2.0.1
|
|
246
|
+
- @fluidframework/server-services-ordering-zookeeper: 2.0.1
|
|
247
|
+
- @fluidframework/server-services-shared: 2.0.1
|
|
248
|
+
- @fluidframework/server-services-telemetry: 2.0.1
|
|
249
|
+
- @fluidframework/server-services-utils: 2.0.1
|
|
250
|
+
- @fluidframework/server-test-utils: 2.0.1
|
|
251
|
+
- tinylicious: 2.0.1
|
|
244
252
|
|
|
245
|
-
-
|
|
253
|
+
- Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
|
|
246
254
|
|
|
247
|
-
|
|
255
|
+
The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
|
|
248
256
|
|
|
249
257
|
## 2.0.0-internal.6.4.0
|
|
250
258
|
|
|
@@ -266,9 +274,9 @@ Dependency updates only.
|
|
|
266
274
|
|
|
267
275
|
### Major Changes
|
|
268
276
|
|
|
269
|
-
-
|
|
277
|
+
- Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
|
|
270
278
|
|
|
271
|
-
|
|
279
|
+
Upgraded typescript transpilation target to ES2020. This is done in order to decrease the bundle sizes of Fluid Framework packages. This has provided size improvements across the board for ex. Loader, Driver, Runtime etc. Reduced bundle sizes helps to load lesser code in apps and hence also helps to improve the perf.If any app wants to target any older versions of browsers with which this target version is not compatible, then they can use packages like babel to transpile to a older target.
|
|
272
280
|
|
|
273
281
|
## 2.0.0-internal.5.4.0
|
|
274
282
|
|
package/lib/tsdoc-metadata.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/local-driver",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.31.0",
|
|
4
4
|
"description": "Fluid local driver",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -71,32 +71,32 @@
|
|
|
71
71
|
"temp-directory": "nyc/.nyc_output"
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"@fluid-internal/client-utils": "~2.
|
|
75
|
-
"@fluidframework/core-interfaces": "~2.
|
|
76
|
-
"@fluidframework/core-utils": "~2.
|
|
77
|
-
"@fluidframework/driver-base": "~2.
|
|
78
|
-
"@fluidframework/driver-definitions": "~2.
|
|
79
|
-
"@fluidframework/driver-utils": "~2.
|
|
74
|
+
"@fluid-internal/client-utils": "~2.31.0",
|
|
75
|
+
"@fluidframework/core-interfaces": "~2.31.0",
|
|
76
|
+
"@fluidframework/core-utils": "~2.31.0",
|
|
77
|
+
"@fluidframework/driver-base": "~2.31.0",
|
|
78
|
+
"@fluidframework/driver-definitions": "~2.31.0",
|
|
79
|
+
"@fluidframework/driver-utils": "~2.31.0",
|
|
80
80
|
"@fluidframework/protocol-base": "^5.0.0",
|
|
81
|
-
"@fluidframework/routerlicious-driver": "~2.
|
|
81
|
+
"@fluidframework/routerlicious-driver": "~2.31.0",
|
|
82
82
|
"@fluidframework/server-local-server": "^5.0.0",
|
|
83
83
|
"@fluidframework/server-services-client": "^5.0.0",
|
|
84
84
|
"@fluidframework/server-services-core": "^5.0.0",
|
|
85
85
|
"@fluidframework/server-test-utils": "^5.0.0",
|
|
86
|
-
"@fluidframework/telemetry-utils": "~2.
|
|
86
|
+
"@fluidframework/telemetry-utils": "~2.31.0",
|
|
87
87
|
"jsrsasign": "^11.0.0",
|
|
88
88
|
"uuid": "^9.0.0"
|
|
89
89
|
},
|
|
90
90
|
"devDependencies": {
|
|
91
91
|
"@arethetypeswrong/cli": "^0.17.1",
|
|
92
92
|
"@biomejs/biome": "~1.9.3",
|
|
93
|
-
"@fluid-internal/mocha-test-setup": "~2.
|
|
93
|
+
"@fluid-internal/mocha-test-setup": "~2.31.0",
|
|
94
94
|
"@fluid-tools/build-cli": "^0.54.0",
|
|
95
95
|
"@fluidframework/build-common": "^2.0.3",
|
|
96
96
|
"@fluidframework/build-tools": "^0.54.0",
|
|
97
97
|
"@fluidframework/eslint-config-fluid": "^5.7.3",
|
|
98
|
-
"@fluidframework/local-driver-previous": "npm:@fluidframework/local-driver@2.
|
|
99
|
-
"@microsoft/api-extractor": "7.
|
|
98
|
+
"@fluidframework/local-driver-previous": "npm:@fluidframework/local-driver@2.30.0",
|
|
99
|
+
"@microsoft/api-extractor": "7.50.1",
|
|
100
100
|
"@types/jsrsasign": "^10.5.12",
|
|
101
101
|
"@types/mocha": "^10.0.10",
|
|
102
102
|
"@types/node": "^18.19.0",
|
|
@@ -106,10 +106,9 @@
|
|
|
106
106
|
"copyfiles": "^2.4.1",
|
|
107
107
|
"cross-env": "^7.0.3",
|
|
108
108
|
"eslint": "~8.55.0",
|
|
109
|
-
"mocha": "^10.2
|
|
109
|
+
"mocha": "^10.8.2",
|
|
110
110
|
"mocha-multi-reporters": "^1.5.1",
|
|
111
111
|
"moment": "^2.21.0",
|
|
112
|
-
"prettier": "~3.0.3",
|
|
113
112
|
"rimraf": "^4.4.0",
|
|
114
113
|
"socket.io-client": "~4.7.5",
|
|
115
114
|
"typescript": "~5.4.5"
|
|
@@ -142,7 +141,6 @@
|
|
|
142
141
|
"check:exports:esm:legacy": "api-extractor run --config api-extractor/api-extractor-lint-legacy.esm.json",
|
|
143
142
|
"check:exports:esm:public": "api-extractor run --config api-extractor/api-extractor-lint-public.esm.json",
|
|
144
143
|
"check:format": "npm run check:biome",
|
|
145
|
-
"check:prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
|
|
146
144
|
"ci:build:api-reports": "concurrently \"npm:ci:build:api-reports:*\"",
|
|
147
145
|
"ci:build:api-reports:current": "api-extractor run --config api-extractor/api-extractor.current.json",
|
|
148
146
|
"ci:build:api-reports:legacy": "api-extractor run --config api-extractor/api-extractor.legacy.json",
|
|
@@ -152,7 +150,6 @@
|
|
|
152
150
|
"eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
|
|
153
151
|
"format": "npm run format:biome",
|
|
154
152
|
"format:biome": "biome check . --write",
|
|
155
|
-
"format:prettier": "prettier --write . --cache --ignore-path ../../../.prettierignore",
|
|
156
153
|
"lint": "fluid-build . --task lint",
|
|
157
154
|
"lint:fix": "fluid-build . --task eslint:fix --task format",
|
|
158
155
|
"test": "npm run test:mocha",
|