@aws-sdk/client-sqs 3.310.0 → 3.312.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.
@@ -7,9 +7,7 @@ const fast_xml_parser_1 = require("fast-xml-parser");
7
7
  const models_0_1 = require("../models/models_0");
8
8
  const SQSServiceException_1 = require("../models/SQSServiceException");
9
9
  const se_AddPermissionCommand = async (input, context) => {
10
- const headers = {
11
- "content-type": "application/x-www-form-urlencoded",
12
- };
10
+ const headers = SHARED_HEADERS;
13
11
  let body;
14
12
  body = buildFormUrlencodedString({
15
13
  ...se_AddPermissionRequest(input, context),
@@ -20,9 +18,7 @@ const se_AddPermissionCommand = async (input, context) => {
20
18
  };
21
19
  exports.se_AddPermissionCommand = se_AddPermissionCommand;
22
20
  const se_ChangeMessageVisibilityCommand = async (input, context) => {
23
- const headers = {
24
- "content-type": "application/x-www-form-urlencoded",
25
- };
21
+ const headers = SHARED_HEADERS;
26
22
  let body;
27
23
  body = buildFormUrlencodedString({
28
24
  ...se_ChangeMessageVisibilityRequest(input, context),
@@ -33,9 +29,7 @@ const se_ChangeMessageVisibilityCommand = async (input, context) => {
33
29
  };
34
30
  exports.se_ChangeMessageVisibilityCommand = se_ChangeMessageVisibilityCommand;
35
31
  const se_ChangeMessageVisibilityBatchCommand = async (input, context) => {
36
- const headers = {
37
- "content-type": "application/x-www-form-urlencoded",
38
- };
32
+ const headers = SHARED_HEADERS;
39
33
  let body;
40
34
  body = buildFormUrlencodedString({
41
35
  ...se_ChangeMessageVisibilityBatchRequest(input, context),
@@ -46,9 +40,7 @@ const se_ChangeMessageVisibilityBatchCommand = async (input, context) => {
46
40
  };
47
41
  exports.se_ChangeMessageVisibilityBatchCommand = se_ChangeMessageVisibilityBatchCommand;
48
42
  const se_CreateQueueCommand = async (input, context) => {
49
- const headers = {
50
- "content-type": "application/x-www-form-urlencoded",
51
- };
43
+ const headers = SHARED_HEADERS;
52
44
  let body;
53
45
  body = buildFormUrlencodedString({
54
46
  ...se_CreateQueueRequest(input, context),
@@ -59,9 +51,7 @@ const se_CreateQueueCommand = async (input, context) => {
59
51
  };
60
52
  exports.se_CreateQueueCommand = se_CreateQueueCommand;
61
53
  const se_DeleteMessageCommand = async (input, context) => {
62
- const headers = {
63
- "content-type": "application/x-www-form-urlencoded",
64
- };
54
+ const headers = SHARED_HEADERS;
65
55
  let body;
66
56
  body = buildFormUrlencodedString({
67
57
  ...se_DeleteMessageRequest(input, context),
@@ -72,9 +62,7 @@ const se_DeleteMessageCommand = async (input, context) => {
72
62
  };
73
63
  exports.se_DeleteMessageCommand = se_DeleteMessageCommand;
74
64
  const se_DeleteMessageBatchCommand = async (input, context) => {
75
- const headers = {
76
- "content-type": "application/x-www-form-urlencoded",
77
- };
65
+ const headers = SHARED_HEADERS;
78
66
  let body;
79
67
  body = buildFormUrlencodedString({
80
68
  ...se_DeleteMessageBatchRequest(input, context),
@@ -85,9 +73,7 @@ const se_DeleteMessageBatchCommand = async (input, context) => {
85
73
  };
86
74
  exports.se_DeleteMessageBatchCommand = se_DeleteMessageBatchCommand;
87
75
  const se_DeleteQueueCommand = async (input, context) => {
88
- const headers = {
89
- "content-type": "application/x-www-form-urlencoded",
90
- };
76
+ const headers = SHARED_HEADERS;
91
77
  let body;
92
78
  body = buildFormUrlencodedString({
93
79
  ...se_DeleteQueueRequest(input, context),
@@ -98,9 +84,7 @@ const se_DeleteQueueCommand = async (input, context) => {
98
84
  };
99
85
  exports.se_DeleteQueueCommand = se_DeleteQueueCommand;
100
86
  const se_GetQueueAttributesCommand = async (input, context) => {
101
- const headers = {
102
- "content-type": "application/x-www-form-urlencoded",
103
- };
87
+ const headers = SHARED_HEADERS;
104
88
  let body;
105
89
  body = buildFormUrlencodedString({
106
90
  ...se_GetQueueAttributesRequest(input, context),
@@ -111,9 +95,7 @@ const se_GetQueueAttributesCommand = async (input, context) => {
111
95
  };
112
96
  exports.se_GetQueueAttributesCommand = se_GetQueueAttributesCommand;
113
97
  const se_GetQueueUrlCommand = async (input, context) => {
114
- const headers = {
115
- "content-type": "application/x-www-form-urlencoded",
116
- };
98
+ const headers = SHARED_HEADERS;
117
99
  let body;
118
100
  body = buildFormUrlencodedString({
119
101
  ...se_GetQueueUrlRequest(input, context),
@@ -124,9 +106,7 @@ const se_GetQueueUrlCommand = async (input, context) => {
124
106
  };
125
107
  exports.se_GetQueueUrlCommand = se_GetQueueUrlCommand;
126
108
  const se_ListDeadLetterSourceQueuesCommand = async (input, context) => {
127
- const headers = {
128
- "content-type": "application/x-www-form-urlencoded",
129
- };
109
+ const headers = SHARED_HEADERS;
130
110
  let body;
131
111
  body = buildFormUrlencodedString({
132
112
  ...se_ListDeadLetterSourceQueuesRequest(input, context),
@@ -137,9 +117,7 @@ const se_ListDeadLetterSourceQueuesCommand = async (input, context) => {
137
117
  };
138
118
  exports.se_ListDeadLetterSourceQueuesCommand = se_ListDeadLetterSourceQueuesCommand;
139
119
  const se_ListQueuesCommand = async (input, context) => {
140
- const headers = {
141
- "content-type": "application/x-www-form-urlencoded",
142
- };
120
+ const headers = SHARED_HEADERS;
143
121
  let body;
144
122
  body = buildFormUrlencodedString({
145
123
  ...se_ListQueuesRequest(input, context),
@@ -150,9 +128,7 @@ const se_ListQueuesCommand = async (input, context) => {
150
128
  };
151
129
  exports.se_ListQueuesCommand = se_ListQueuesCommand;
152
130
  const se_ListQueueTagsCommand = async (input, context) => {
153
- const headers = {
154
- "content-type": "application/x-www-form-urlencoded",
155
- };
131
+ const headers = SHARED_HEADERS;
156
132
  let body;
157
133
  body = buildFormUrlencodedString({
158
134
  ...se_ListQueueTagsRequest(input, context),
@@ -163,9 +139,7 @@ const se_ListQueueTagsCommand = async (input, context) => {
163
139
  };
164
140
  exports.se_ListQueueTagsCommand = se_ListQueueTagsCommand;
165
141
  const se_PurgeQueueCommand = async (input, context) => {
166
- const headers = {
167
- "content-type": "application/x-www-form-urlencoded",
168
- };
142
+ const headers = SHARED_HEADERS;
169
143
  let body;
170
144
  body = buildFormUrlencodedString({
171
145
  ...se_PurgeQueueRequest(input, context),
@@ -176,9 +150,7 @@ const se_PurgeQueueCommand = async (input, context) => {
176
150
  };
177
151
  exports.se_PurgeQueueCommand = se_PurgeQueueCommand;
178
152
  const se_ReceiveMessageCommand = async (input, context) => {
179
- const headers = {
180
- "content-type": "application/x-www-form-urlencoded",
181
- };
153
+ const headers = SHARED_HEADERS;
182
154
  let body;
183
155
  body = buildFormUrlencodedString({
184
156
  ...se_ReceiveMessageRequest(input, context),
@@ -189,9 +161,7 @@ const se_ReceiveMessageCommand = async (input, context) => {
189
161
  };
190
162
  exports.se_ReceiveMessageCommand = se_ReceiveMessageCommand;
191
163
  const se_RemovePermissionCommand = async (input, context) => {
192
- const headers = {
193
- "content-type": "application/x-www-form-urlencoded",
194
- };
164
+ const headers = SHARED_HEADERS;
195
165
  let body;
196
166
  body = buildFormUrlencodedString({
197
167
  ...se_RemovePermissionRequest(input, context),
@@ -202,9 +172,7 @@ const se_RemovePermissionCommand = async (input, context) => {
202
172
  };
203
173
  exports.se_RemovePermissionCommand = se_RemovePermissionCommand;
204
174
  const se_SendMessageCommand = async (input, context) => {
205
- const headers = {
206
- "content-type": "application/x-www-form-urlencoded",
207
- };
175
+ const headers = SHARED_HEADERS;
208
176
  let body;
209
177
  body = buildFormUrlencodedString({
210
178
  ...se_SendMessageRequest(input, context),
@@ -215,9 +183,7 @@ const se_SendMessageCommand = async (input, context) => {
215
183
  };
216
184
  exports.se_SendMessageCommand = se_SendMessageCommand;
217
185
  const se_SendMessageBatchCommand = async (input, context) => {
218
- const headers = {
219
- "content-type": "application/x-www-form-urlencoded",
220
- };
186
+ const headers = SHARED_HEADERS;
221
187
  let body;
222
188
  body = buildFormUrlencodedString({
223
189
  ...se_SendMessageBatchRequest(input, context),
@@ -228,9 +194,7 @@ const se_SendMessageBatchCommand = async (input, context) => {
228
194
  };
229
195
  exports.se_SendMessageBatchCommand = se_SendMessageBatchCommand;
230
196
  const se_SetQueueAttributesCommand = async (input, context) => {
231
- const headers = {
232
- "content-type": "application/x-www-form-urlencoded",
233
- };
197
+ const headers = SHARED_HEADERS;
234
198
  let body;
235
199
  body = buildFormUrlencodedString({
236
200
  ...se_SetQueueAttributesRequest(input, context),
@@ -241,9 +205,7 @@ const se_SetQueueAttributesCommand = async (input, context) => {
241
205
  };
242
206
  exports.se_SetQueueAttributesCommand = se_SetQueueAttributesCommand;
243
207
  const se_TagQueueCommand = async (input, context) => {
244
- const headers = {
245
- "content-type": "application/x-www-form-urlencoded",
246
- };
208
+ const headers = SHARED_HEADERS;
247
209
  let body;
248
210
  body = buildFormUrlencodedString({
249
211
  ...se_TagQueueRequest(input, context),
@@ -254,9 +216,7 @@ const se_TagQueueCommand = async (input, context) => {
254
216
  };
255
217
  exports.se_TagQueueCommand = se_TagQueueCommand;
256
218
  const se_UntagQueueCommand = async (input, context) => {
257
- const headers = {
258
- "content-type": "application/x-www-form-urlencoded",
259
- };
219
+ const headers = SHARED_HEADERS;
260
220
  let body;
261
221
  body = buildFormUrlencodedString({
262
222
  ...se_UntagQueueRequest(input, context),
@@ -2138,6 +2098,9 @@ const buildHttpRpcRequest = async (context, headers, path, resolvedHostname, bod
2138
2098
  }
2139
2099
  return new protocol_http_1.HttpRequest(contents);
2140
2100
  };
2101
+ const SHARED_HEADERS = {
2102
+ "content-type": "application/x-www-form-urlencoded",
2103
+ };
2141
2104
  const parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {
2142
2105
  if (encoded.length) {
2143
2106
  const parser = new fast_xml_parser_1.XMLParser({
@@ -4,9 +4,7 @@ import { XMLParser } from "fast-xml-parser";
4
4
  import { BatchEntryIdsNotDistinct, BatchRequestTooLong, EmptyBatchRequest, InvalidAttributeName, InvalidBatchEntryId, InvalidIdFormat, InvalidMessageContents, MessageNotInflight, OverLimit, PurgeQueueInProgress, QueueDeletedRecently, QueueDoesNotExist, QueueNameExists, ReceiptHandleIsInvalid, TooManyEntriesInBatchRequest, UnsupportedOperation, } from "../models/models_0";
5
5
  import { SQSServiceException as __BaseException } from "../models/SQSServiceException";
6
6
  export const se_AddPermissionCommand = async (input, context) => {
7
- const headers = {
8
- "content-type": "application/x-www-form-urlencoded",
9
- };
7
+ const headers = SHARED_HEADERS;
10
8
  let body;
11
9
  body = buildFormUrlencodedString({
12
10
  ...se_AddPermissionRequest(input, context),
@@ -16,9 +14,7 @@ export const se_AddPermissionCommand = async (input, context) => {
16
14
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
17
15
  };
18
16
  export const se_ChangeMessageVisibilityCommand = async (input, context) => {
19
- const headers = {
20
- "content-type": "application/x-www-form-urlencoded",
21
- };
17
+ const headers = SHARED_HEADERS;
22
18
  let body;
23
19
  body = buildFormUrlencodedString({
24
20
  ...se_ChangeMessageVisibilityRequest(input, context),
@@ -28,9 +24,7 @@ export const se_ChangeMessageVisibilityCommand = async (input, context) => {
28
24
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
29
25
  };
30
26
  export const se_ChangeMessageVisibilityBatchCommand = async (input, context) => {
31
- const headers = {
32
- "content-type": "application/x-www-form-urlencoded",
33
- };
27
+ const headers = SHARED_HEADERS;
34
28
  let body;
35
29
  body = buildFormUrlencodedString({
36
30
  ...se_ChangeMessageVisibilityBatchRequest(input, context),
@@ -40,9 +34,7 @@ export const se_ChangeMessageVisibilityBatchCommand = async (input, context) =>
40
34
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
41
35
  };
42
36
  export const se_CreateQueueCommand = async (input, context) => {
43
- const headers = {
44
- "content-type": "application/x-www-form-urlencoded",
45
- };
37
+ const headers = SHARED_HEADERS;
46
38
  let body;
47
39
  body = buildFormUrlencodedString({
48
40
  ...se_CreateQueueRequest(input, context),
@@ -52,9 +44,7 @@ export const se_CreateQueueCommand = async (input, context) => {
52
44
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
53
45
  };
54
46
  export const se_DeleteMessageCommand = async (input, context) => {
55
- const headers = {
56
- "content-type": "application/x-www-form-urlencoded",
57
- };
47
+ const headers = SHARED_HEADERS;
58
48
  let body;
59
49
  body = buildFormUrlencodedString({
60
50
  ...se_DeleteMessageRequest(input, context),
@@ -64,9 +54,7 @@ export const se_DeleteMessageCommand = async (input, context) => {
64
54
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
65
55
  };
66
56
  export const se_DeleteMessageBatchCommand = async (input, context) => {
67
- const headers = {
68
- "content-type": "application/x-www-form-urlencoded",
69
- };
57
+ const headers = SHARED_HEADERS;
70
58
  let body;
71
59
  body = buildFormUrlencodedString({
72
60
  ...se_DeleteMessageBatchRequest(input, context),
@@ -76,9 +64,7 @@ export const se_DeleteMessageBatchCommand = async (input, context) => {
76
64
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
77
65
  };
78
66
  export const se_DeleteQueueCommand = async (input, context) => {
79
- const headers = {
80
- "content-type": "application/x-www-form-urlencoded",
81
- };
67
+ const headers = SHARED_HEADERS;
82
68
  let body;
83
69
  body = buildFormUrlencodedString({
84
70
  ...se_DeleteQueueRequest(input, context),
@@ -88,9 +74,7 @@ export const se_DeleteQueueCommand = async (input, context) => {
88
74
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
89
75
  };
90
76
  export const se_GetQueueAttributesCommand = async (input, context) => {
91
- const headers = {
92
- "content-type": "application/x-www-form-urlencoded",
93
- };
77
+ const headers = SHARED_HEADERS;
94
78
  let body;
95
79
  body = buildFormUrlencodedString({
96
80
  ...se_GetQueueAttributesRequest(input, context),
@@ -100,9 +84,7 @@ export const se_GetQueueAttributesCommand = async (input, context) => {
100
84
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
101
85
  };
102
86
  export const se_GetQueueUrlCommand = async (input, context) => {
103
- const headers = {
104
- "content-type": "application/x-www-form-urlencoded",
105
- };
87
+ const headers = SHARED_HEADERS;
106
88
  let body;
107
89
  body = buildFormUrlencodedString({
108
90
  ...se_GetQueueUrlRequest(input, context),
@@ -112,9 +94,7 @@ export const se_GetQueueUrlCommand = async (input, context) => {
112
94
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
113
95
  };
114
96
  export const se_ListDeadLetterSourceQueuesCommand = async (input, context) => {
115
- const headers = {
116
- "content-type": "application/x-www-form-urlencoded",
117
- };
97
+ const headers = SHARED_HEADERS;
118
98
  let body;
119
99
  body = buildFormUrlencodedString({
120
100
  ...se_ListDeadLetterSourceQueuesRequest(input, context),
@@ -124,9 +104,7 @@ export const se_ListDeadLetterSourceQueuesCommand = async (input, context) => {
124
104
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
125
105
  };
126
106
  export const se_ListQueuesCommand = async (input, context) => {
127
- const headers = {
128
- "content-type": "application/x-www-form-urlencoded",
129
- };
107
+ const headers = SHARED_HEADERS;
130
108
  let body;
131
109
  body = buildFormUrlencodedString({
132
110
  ...se_ListQueuesRequest(input, context),
@@ -136,9 +114,7 @@ export const se_ListQueuesCommand = async (input, context) => {
136
114
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
137
115
  };
138
116
  export const se_ListQueueTagsCommand = async (input, context) => {
139
- const headers = {
140
- "content-type": "application/x-www-form-urlencoded",
141
- };
117
+ const headers = SHARED_HEADERS;
142
118
  let body;
143
119
  body = buildFormUrlencodedString({
144
120
  ...se_ListQueueTagsRequest(input, context),
@@ -148,9 +124,7 @@ export const se_ListQueueTagsCommand = async (input, context) => {
148
124
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
149
125
  };
150
126
  export const se_PurgeQueueCommand = async (input, context) => {
151
- const headers = {
152
- "content-type": "application/x-www-form-urlencoded",
153
- };
127
+ const headers = SHARED_HEADERS;
154
128
  let body;
155
129
  body = buildFormUrlencodedString({
156
130
  ...se_PurgeQueueRequest(input, context),
@@ -160,9 +134,7 @@ export const se_PurgeQueueCommand = async (input, context) => {
160
134
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
161
135
  };
162
136
  export const se_ReceiveMessageCommand = async (input, context) => {
163
- const headers = {
164
- "content-type": "application/x-www-form-urlencoded",
165
- };
137
+ const headers = SHARED_HEADERS;
166
138
  let body;
167
139
  body = buildFormUrlencodedString({
168
140
  ...se_ReceiveMessageRequest(input, context),
@@ -172,9 +144,7 @@ export const se_ReceiveMessageCommand = async (input, context) => {
172
144
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
173
145
  };
174
146
  export const se_RemovePermissionCommand = async (input, context) => {
175
- const headers = {
176
- "content-type": "application/x-www-form-urlencoded",
177
- };
147
+ const headers = SHARED_HEADERS;
178
148
  let body;
179
149
  body = buildFormUrlencodedString({
180
150
  ...se_RemovePermissionRequest(input, context),
@@ -184,9 +154,7 @@ export const se_RemovePermissionCommand = async (input, context) => {
184
154
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
185
155
  };
186
156
  export const se_SendMessageCommand = async (input, context) => {
187
- const headers = {
188
- "content-type": "application/x-www-form-urlencoded",
189
- };
157
+ const headers = SHARED_HEADERS;
190
158
  let body;
191
159
  body = buildFormUrlencodedString({
192
160
  ...se_SendMessageRequest(input, context),
@@ -196,9 +164,7 @@ export const se_SendMessageCommand = async (input, context) => {
196
164
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
197
165
  };
198
166
  export const se_SendMessageBatchCommand = async (input, context) => {
199
- const headers = {
200
- "content-type": "application/x-www-form-urlencoded",
201
- };
167
+ const headers = SHARED_HEADERS;
202
168
  let body;
203
169
  body = buildFormUrlencodedString({
204
170
  ...se_SendMessageBatchRequest(input, context),
@@ -208,9 +174,7 @@ export const se_SendMessageBatchCommand = async (input, context) => {
208
174
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
209
175
  };
210
176
  export const se_SetQueueAttributesCommand = async (input, context) => {
211
- const headers = {
212
- "content-type": "application/x-www-form-urlencoded",
213
- };
177
+ const headers = SHARED_HEADERS;
214
178
  let body;
215
179
  body = buildFormUrlencodedString({
216
180
  ...se_SetQueueAttributesRequest(input, context),
@@ -220,9 +184,7 @@ export const se_SetQueueAttributesCommand = async (input, context) => {
220
184
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
221
185
  };
222
186
  export const se_TagQueueCommand = async (input, context) => {
223
- const headers = {
224
- "content-type": "application/x-www-form-urlencoded",
225
- };
187
+ const headers = SHARED_HEADERS;
226
188
  let body;
227
189
  body = buildFormUrlencodedString({
228
190
  ...se_TagQueueRequest(input, context),
@@ -232,9 +194,7 @@ export const se_TagQueueCommand = async (input, context) => {
232
194
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
233
195
  };
234
196
  export const se_UntagQueueCommand = async (input, context) => {
235
- const headers = {
236
- "content-type": "application/x-www-form-urlencoded",
237
- };
197
+ const headers = SHARED_HEADERS;
238
198
  let body;
239
199
  body = buildFormUrlencodedString({
240
200
  ...se_UntagQueueRequest(input, context),
@@ -2095,6 +2055,9 @@ const buildHttpRpcRequest = async (context, headers, path, resolvedHostname, bod
2095
2055
  }
2096
2056
  return new __HttpRequest(contents);
2097
2057
  };
2058
+ const SHARED_HEADERS = {
2059
+ "content-type": "application/x-www-form-urlencoded",
2060
+ };
2098
2061
  const parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {
2099
2062
  if (encoded.length) {
2100
2063
  const parser = new XMLParser({
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-sqs",
3
3
  "description": "AWS SDK for JavaScript Sqs Client for Node.js, Browser and React Native",
4
- "version": "3.310.0",
4
+ "version": "3.312.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -21,7 +21,7 @@
21
21
  "dependencies": {
22
22
  "@aws-crypto/sha256-browser": "3.0.0",
23
23
  "@aws-crypto/sha256-js": "3.0.0",
24
- "@aws-sdk/client-sts": "3.310.0",
24
+ "@aws-sdk/client-sts": "3.312.0",
25
25
  "@aws-sdk/config-resolver": "3.310.0",
26
26
  "@aws-sdk/credential-provider-node": "3.310.0",
27
27
  "@aws-sdk/fetch-http-handler": "3.310.0",