@maxim_mazurok/gapi.client.smartdevicemanagement-v1 0.0.20220730

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/index.d.ts ADDED
@@ -0,0 +1,336 @@
1
+ /* Type definitions for non-npm package Smart Device Management API v1 0.0 */
2
+ // Project: https://developers.google.com/nest/device-access
3
+ // Definitions by: Maxim Mazurok <https://github.com/Maxim-Mazurok>
4
+ // Nick Amoscato <https://github.com/namoscato>
5
+ // Declan Vong <https://github.com/declanvong>
6
+ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
7
+ // TypeScript Version: 2.8
8
+
9
+ // IMPORTANT
10
+ // This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually.
11
+ // In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator
12
+ // Generated from: https://smartdevicemanagement.googleapis.com/$discovery/rest?version=v1
13
+ // Revision: 20220730
14
+
15
+ /// <reference types="gapi.client" />
16
+
17
+ declare namespace gapi.client {
18
+ /** Load Smart Device Management API v1 */
19
+ function load(urlOrObject: "https://smartdevicemanagement.googleapis.com/$discovery/rest?version=v1"): Promise<void>;
20
+ /** @deprecated Please load APIs with discovery documents. */
21
+ function load(name: "smartdevicemanagement", version: "v1"): Promise<void>;
22
+ /** @deprecated Please load APIs with discovery documents. */
23
+ function load(name: "smartdevicemanagement", version: "v1", callback: () => any): void;
24
+
25
+ namespace smartdevicemanagement {
26
+ interface GoogleHomeEnterpriseSdmV1Device {
27
+ /** Required. The resource name of the device. For example: "enterprises/XYZ/devices/123". */
28
+ name?: string;
29
+ /** Assignee details of the device. */
30
+ parentRelations?: GoogleHomeEnterpriseSdmV1ParentRelation[];
31
+ /** Output only. Device traits. */
32
+ traits?: { [P in string]: any };
33
+ /**
34
+ * Output only. Type of the device for general display purposes. For example: "THERMOSTAT". The device type should not be used to deduce or infer functionality of the actual device it
35
+ * is assigned to. Instead, use the returned traits for the device.
36
+ */
37
+ type?: string;
38
+ }
39
+ interface GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandRequest {
40
+ /** The command name to execute, represented by the fully qualified protobuf message name. */
41
+ command?: string;
42
+ /** The command message to execute, represented as a Struct. */
43
+ params?: { [P in string]: any };
44
+ }
45
+ interface GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandResponse {
46
+ /** The results of executing the command. */
47
+ results?: { [P in string]: any };
48
+ }
49
+ interface GoogleHomeEnterpriseSdmV1ListDevicesResponse {
50
+ /** The list of devices. */
51
+ devices?: GoogleHomeEnterpriseSdmV1Device[];
52
+ /** The pagination token to retrieve the next page of results. */
53
+ nextPageToken?: string;
54
+ }
55
+ interface GoogleHomeEnterpriseSdmV1ListRoomsResponse {
56
+ /** The pagination token to retrieve the next page of results. If this field is omitted, there are no subsequent pages. */
57
+ nextPageToken?: string;
58
+ /** The list of rooms. */
59
+ rooms?: GoogleHomeEnterpriseSdmV1Room[];
60
+ }
61
+ interface GoogleHomeEnterpriseSdmV1ListStructuresResponse {
62
+ /** The pagination token to retrieve the next page of results. If this field is omitted, there are no subsequent pages. */
63
+ nextPageToken?: string;
64
+ /** The list of structures. */
65
+ structures?: GoogleHomeEnterpriseSdmV1Structure[];
66
+ }
67
+ interface GoogleHomeEnterpriseSdmV1ParentRelation {
68
+ /** Output only. The custom name of the relation -- e.g., structure/room where the device is assigned to. */
69
+ displayName?: string;
70
+ /**
71
+ * Output only. The name of the relation -- e.g., structure/room where the device is assigned to. For example: "enterprises/XYZ/structures/ABC" or
72
+ * "enterprises/XYZ/structures/ABC/rooms/123"
73
+ */
74
+ parent?: string;
75
+ }
76
+ interface GoogleHomeEnterpriseSdmV1Room {
77
+ /** Output only. The resource name of the room. For example: "enterprises/XYZ/structures/ABC/rooms/123". */
78
+ name?: string;
79
+ /** Room traits. */
80
+ traits?: { [P in string]: any };
81
+ }
82
+ interface GoogleHomeEnterpriseSdmV1Structure {
83
+ /** Output only. The resource name of the structure. For example: "enterprises/XYZ/structures/ABC". */
84
+ name?: string;
85
+ /** Structure traits. */
86
+ traits?: { [P in string]: any };
87
+ }
88
+ interface DevicesResource {
89
+ /** Executes a command to device managed by the enterprise. */
90
+ executeCommand(request: {
91
+ /** V1 error format. */
92
+ "$.xgafv"?: string;
93
+ /** OAuth access token. */
94
+ access_token?: string;
95
+ /** Data format for response. */
96
+ alt?: string;
97
+ /** JSONP */
98
+ callback?: string;
99
+ /** Selector specifying which fields to include in a partial response. */
100
+ fields?: string;
101
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
102
+ key?: string;
103
+ /** The name of the device requested. For example: "enterprises/XYZ/devices/123" */
104
+ name: string;
105
+ /** OAuth 2.0 token for the current user. */
106
+ oauth_token?: string;
107
+ /** Returns response with indentations and line breaks. */
108
+ prettyPrint?: boolean;
109
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
110
+ quotaUser?: string;
111
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
112
+ upload_protocol?: string;
113
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
114
+ uploadType?: string;
115
+ /** Request body */
116
+ resource: GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandRequest;
117
+ }): Request<GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandResponse>;
118
+ executeCommand(request: {
119
+ /** V1 error format. */
120
+ "$.xgafv"?: string;
121
+ /** OAuth access token. */
122
+ access_token?: string;
123
+ /** Data format for response. */
124
+ alt?: string;
125
+ /** JSONP */
126
+ callback?: string;
127
+ /** Selector specifying which fields to include in a partial response. */
128
+ fields?: string;
129
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
130
+ key?: string;
131
+ /** The name of the device requested. For example: "enterprises/XYZ/devices/123" */
132
+ name: string;
133
+ /** OAuth 2.0 token for the current user. */
134
+ oauth_token?: string;
135
+ /** Returns response with indentations and line breaks. */
136
+ prettyPrint?: boolean;
137
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
138
+ quotaUser?: string;
139
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
140
+ upload_protocol?: string;
141
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
142
+ uploadType?: string;
143
+ },
144
+ body: GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandRequest): Request<GoogleHomeEnterpriseSdmV1ExecuteDeviceCommandResponse>;
145
+ /** Gets a device managed by the enterprise. */
146
+ get(request?: {
147
+ /** V1 error format. */
148
+ "$.xgafv"?: string;
149
+ /** OAuth access token. */
150
+ access_token?: string;
151
+ /** Data format for response. */
152
+ alt?: string;
153
+ /** JSONP */
154
+ callback?: string;
155
+ /** Selector specifying which fields to include in a partial response. */
156
+ fields?: string;
157
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
158
+ key?: string;
159
+ /** The name of the device requested. For example: "enterprises/XYZ/devices/123" */
160
+ name: string;
161
+ /** OAuth 2.0 token for the current user. */
162
+ oauth_token?: string;
163
+ /** Returns response with indentations and line breaks. */
164
+ prettyPrint?: boolean;
165
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
166
+ quotaUser?: string;
167
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
168
+ upload_protocol?: string;
169
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
170
+ uploadType?: string;
171
+ }): Request<GoogleHomeEnterpriseSdmV1Device>;
172
+ /** Lists devices managed by the enterprise. */
173
+ list(request?: {
174
+ /** V1 error format. */
175
+ "$.xgafv"?: string;
176
+ /** OAuth access token. */
177
+ access_token?: string;
178
+ /** Data format for response. */
179
+ alt?: string;
180
+ /** JSONP */
181
+ callback?: string;
182
+ /** Selector specifying which fields to include in a partial response. */
183
+ fields?: string;
184
+ /** Optional filter to list devices. Filters can be done on: Device custom name (substring match): 'customName=wing' */
185
+ filter?: string;
186
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
187
+ key?: string;
188
+ /** OAuth 2.0 token for the current user. */
189
+ oauth_token?: string;
190
+ /** Optional requested page size. Server may return fewer devices than requested. If unspecified, server will pick an appropriate default. */
191
+ pageSize?: number;
192
+ /** Optional token of the page to retrieve. */
193
+ pageToken?: string;
194
+ /** The parent enterprise to list devices under. E.g. "enterprises/XYZ". */
195
+ parent: string;
196
+ /** Returns response with indentations and line breaks. */
197
+ prettyPrint?: boolean;
198
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
199
+ quotaUser?: string;
200
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
201
+ upload_protocol?: string;
202
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
203
+ uploadType?: string;
204
+ }): Request<GoogleHomeEnterpriseSdmV1ListDevicesResponse>;
205
+ }
206
+ interface RoomsResource {
207
+ /** Gets a room managed by the enterprise. */
208
+ get(request?: {
209
+ /** V1 error format. */
210
+ "$.xgafv"?: string;
211
+ /** OAuth access token. */
212
+ access_token?: string;
213
+ /** Data format for response. */
214
+ alt?: string;
215
+ /** JSONP */
216
+ callback?: string;
217
+ /** Selector specifying which fields to include in a partial response. */
218
+ fields?: string;
219
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
220
+ key?: string;
221
+ /** The name of the room requested. For example: "enterprises/XYZ/structures/ABC/rooms/123". */
222
+ name: string;
223
+ /** OAuth 2.0 token for the current user. */
224
+ oauth_token?: string;
225
+ /** Returns response with indentations and line breaks. */
226
+ prettyPrint?: boolean;
227
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
228
+ quotaUser?: string;
229
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
230
+ upload_protocol?: string;
231
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
232
+ uploadType?: string;
233
+ }): Request<GoogleHomeEnterpriseSdmV1Room>;
234
+ /** Lists rooms managed by the enterprise. */
235
+ list(request?: {
236
+ /** V1 error format. */
237
+ "$.xgafv"?: string;
238
+ /** OAuth access token. */
239
+ access_token?: string;
240
+ /** Data format for response. */
241
+ alt?: string;
242
+ /** JSONP */
243
+ callback?: string;
244
+ /** Selector specifying which fields to include in a partial response. */
245
+ fields?: string;
246
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
247
+ key?: string;
248
+ /** OAuth 2.0 token for the current user. */
249
+ oauth_token?: string;
250
+ /** Requested page size. Server may return fewer rooms than requested. If unspecified, server will pick an appropriate default. */
251
+ pageSize?: number;
252
+ /** The token of the page to retrieve. */
253
+ pageToken?: string;
254
+ /** The parent resource name of the rooms requested. For example: "enterprises/XYZ/structures/ABC". */
255
+ parent: string;
256
+ /** Returns response with indentations and line breaks. */
257
+ prettyPrint?: boolean;
258
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
259
+ quotaUser?: string;
260
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
261
+ upload_protocol?: string;
262
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
263
+ uploadType?: string;
264
+ }): Request<GoogleHomeEnterpriseSdmV1ListRoomsResponse>;
265
+ }
266
+ interface StructuresResource {
267
+ /** Gets a structure managed by the enterprise. */
268
+ get(request?: {
269
+ /** V1 error format. */
270
+ "$.xgafv"?: string;
271
+ /** OAuth access token. */
272
+ access_token?: string;
273
+ /** Data format for response. */
274
+ alt?: string;
275
+ /** JSONP */
276
+ callback?: string;
277
+ /** Selector specifying which fields to include in a partial response. */
278
+ fields?: string;
279
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
280
+ key?: string;
281
+ /** The name of the structure requested. For example: "enterprises/XYZ/structures/ABC". */
282
+ name: string;
283
+ /** OAuth 2.0 token for the current user. */
284
+ oauth_token?: string;
285
+ /** Returns response with indentations and line breaks. */
286
+ prettyPrint?: boolean;
287
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
288
+ quotaUser?: string;
289
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
290
+ upload_protocol?: string;
291
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
292
+ uploadType?: string;
293
+ }): Request<GoogleHomeEnterpriseSdmV1Structure>;
294
+ /** Lists structures managed by the enterprise. */
295
+ list(request?: {
296
+ /** V1 error format. */
297
+ "$.xgafv"?: string;
298
+ /** OAuth access token. */
299
+ access_token?: string;
300
+ /** Data format for response. */
301
+ alt?: string;
302
+ /** JSONP */
303
+ callback?: string;
304
+ /** Selector specifying which fields to include in a partial response. */
305
+ fields?: string;
306
+ /** Optional filter to list structures. */
307
+ filter?: string;
308
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
309
+ key?: string;
310
+ /** OAuth 2.0 token for the current user. */
311
+ oauth_token?: string;
312
+ /** Requested page size. Server may return fewer structures than requested. If unspecified, server will pick an appropriate default. */
313
+ pageSize?: number;
314
+ /** The token of the page to retrieve. */
315
+ pageToken?: string;
316
+ /** The parent enterprise to list structures under. E.g. "enterprises/XYZ". */
317
+ parent: string;
318
+ /** Returns response with indentations and line breaks. */
319
+ prettyPrint?: boolean;
320
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
321
+ quotaUser?: string;
322
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
323
+ upload_protocol?: string;
324
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
325
+ uploadType?: string;
326
+ }): Request<GoogleHomeEnterpriseSdmV1ListStructuresResponse>;
327
+ rooms: RoomsResource;
328
+ }
329
+ interface EnterprisesResource {
330
+ devices: DevicesResource;
331
+ structures: StructuresResource;
332
+ }
333
+
334
+ const enterprises: EnterprisesResource;
335
+ }
336
+ }
package/package.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "@maxim_mazurok/gapi.client.smartdevicemanagement-v1",
3
+ "version": "0.0.20220730",
4
+ "description": "TypeScript typings for Smart Device Management API v1",
5
+ "license": "MIT",
6
+ "author": {
7
+ "email": "maxim@mazurok.com",
8
+ "name": "Maxim Mazurok",
9
+ "url": "https://maxim.mazurok.com"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/Maxim-Mazurok/google-api-typings-generator.git"
14
+ },
15
+ "types": "index.d.ts",
16
+ "dependencies": {
17
+ "@types/gapi.client": "*",
18
+ "@types/gapi.client.discovery": "*"
19
+ }
20
+ }
package/readme.md ADDED
@@ -0,0 +1,71 @@
1
+ # TypeScript typings for Smart Device Management API v1
2
+
3
+ Allow select enterprise partners to access, control, and manage Google and Nest devices programmatically.
4
+ For detailed description please check [documentation](https://developers.google.com/nest/device-access).
5
+
6
+ ## Installing
7
+
8
+ Install typings for Smart Device Management API:
9
+
10
+ ```
11
+ npm install @types/gapi.client.smartdevicemanagement-v1 --save-dev
12
+ ```
13
+
14
+ ## Usage
15
+
16
+ You need to initialize Google API client in your code:
17
+
18
+ ```typescript
19
+ gapi.load('client', () => {
20
+ // now we can use gapi.client
21
+ // ...
22
+ });
23
+ ```
24
+
25
+ Then load api client wrapper:
26
+
27
+ ```typescript
28
+ gapi.client.load('https://smartdevicemanagement.googleapis.com/$discovery/rest?version=v1', () => {
29
+ // now we can use:
30
+ // gapi.client.smartdevicemanagement
31
+ });
32
+ ```
33
+
34
+ ```typescript
35
+ // Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
36
+ gapi.client.load('smartdevicemanagement', 'v1', () => {
37
+ // now we can use:
38
+ // gapi.client.smartdevicemanagement
39
+ });
40
+ ```
41
+
42
+ Don't forget to authenticate your client before sending any request to resources:
43
+
44
+ ```typescript
45
+ // declare client_id registered in Google Developers Console
46
+ var client_id = '',
47
+ scope = [
48
+ // See and/or control the devices that you selected
49
+ 'https://www.googleapis.com/auth/sdm.service',
50
+
51
+ // See and control the Nest thermostats that you select
52
+ 'https://www.googleapis.com/auth/sdm.thermostat.service',
53
+ ],
54
+ immediate = true;
55
+ // ...
56
+
57
+ gapi.auth.authorize(
58
+ { client_id: client_id, scope: scope, immediate: immediate },
59
+ authResult => {
60
+ if (authResult && !authResult.error) {
61
+ /* handle successful authorization */
62
+ } else {
63
+ /* handle authorization error */
64
+ }
65
+ });
66
+ ```
67
+
68
+ After that you can use Smart Device Management API resources: <!-- TODO: make this work for multiple namespaces -->
69
+
70
+ ```typescript
71
+ ```
package/tests.ts ADDED
@@ -0,0 +1,76 @@
1
+ /* This is stub file for gapi.client.smartdevicemanagement-v1 definition tests */
2
+ // IMPORTANT
3
+ // This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually.
4
+ // In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator
5
+
6
+ // Revision: 20220730
7
+
8
+ gapi.load('client', async () => {
9
+ /** now we can use gapi.client */
10
+
11
+ await gapi.client.load('https://smartdevicemanagement.googleapis.com/$discovery/rest?version=v1');
12
+ /** now we can use gapi.client.smartdevicemanagement */
13
+
14
+ /** don't forget to authenticate your client before sending any request to resources: */
15
+ /** declare client_id registered in Google Developers Console */
16
+ const client_id = '<<PUT YOUR CLIENT ID HERE>>';
17
+ const scope = [
18
+ /** See and/or control the devices that you selected */
19
+ 'https://www.googleapis.com/auth/sdm.service',
20
+ /** See and control the Nest thermostats that you select */
21
+ 'https://www.googleapis.com/auth/sdm.thermostat.service',
22
+ ];
23
+ const immediate = false;
24
+ gapi.auth.authorize({ client_id, scope, immediate }, authResult => {
25
+ if (authResult && !authResult.error) {
26
+ /** handle successful authorization */
27
+ run();
28
+ } else {
29
+ /** handle authorization error */
30
+ }
31
+ });
32
+
33
+ async function run() {
34
+ /** Executes a command to device managed by the enterprise. */
35
+ await gapi.client.smartdevicemanagement.enterprises.devices.executeCommand({
36
+ name: "Test string",
37
+ }, {
38
+ command: "Test string",
39
+ params: {
40
+ A: 42
41
+ },
42
+ });
43
+ /** Gets a device managed by the enterprise. */
44
+ await gapi.client.smartdevicemanagement.enterprises.devices.get({
45
+ name: "Test string",
46
+ });
47
+ /** Lists devices managed by the enterprise. */
48
+ await gapi.client.smartdevicemanagement.enterprises.devices.list({
49
+ filter: "Test string",
50
+ pageSize: 42,
51
+ pageToken: "Test string",
52
+ parent: "Test string",
53
+ });
54
+ /** Gets a structure managed by the enterprise. */
55
+ await gapi.client.smartdevicemanagement.enterprises.structures.get({
56
+ name: "Test string",
57
+ });
58
+ /** Lists structures managed by the enterprise. */
59
+ await gapi.client.smartdevicemanagement.enterprises.structures.list({
60
+ filter: "Test string",
61
+ pageSize: 42,
62
+ pageToken: "Test string",
63
+ parent: "Test string",
64
+ });
65
+ /** Gets a room managed by the enterprise. */
66
+ await gapi.client.smartdevicemanagement.enterprises.structures.rooms.get({
67
+ name: "Test string",
68
+ });
69
+ /** Lists rooms managed by the enterprise. */
70
+ await gapi.client.smartdevicemanagement.enterprises.structures.rooms.list({
71
+ pageSize: 42,
72
+ pageToken: "Test string",
73
+ parent: "Test string",
74
+ });
75
+ }
76
+ });
package/tsconfig.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "lib": ["es6", "dom"],
5
+ "noImplicitAny": true,
6
+ "noImplicitThis": true,
7
+ "strictNullChecks": true,
8
+ "baseUrl": "../",
9
+ "typeRoots": [
10
+ "../"
11
+ ],
12
+ "types": [],
13
+ "noEmit": true,
14
+ "forceConsistentCasingInFileNames": true,
15
+ "strictFunctionTypes": true
16
+ },
17
+ "files": ["index.d.ts", "tests.ts"]
18
+ }
package/tslint.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "extends": "dtslint/dtslint.json",
3
+ "rules": {
4
+ "no-redundant-jsdoc": false
5
+ }
6
+ }