@seamapi/types 1.149.0 → 1.150.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.
Files changed (35) hide show
  1. package/dist/connect.cjs +27 -11
  2. package/dist/connect.cjs.map +1 -1
  3. package/dist/connect.d.cts +31 -16
  4. package/lib/seam/connect/internal/schemas.d.ts +1 -1
  5. package/lib/seam/connect/internal/schemas.js +1 -1
  6. package/lib/seam/connect/internal/schemas.js.map +1 -1
  7. package/lib/seam/connect/models/{connect-webview.d.ts → connect-webviews/connect-webview.d.ts} +6 -5
  8. package/lib/seam/connect/models/{connect-webview.js → connect-webviews/connect-webview.js} +12 -5
  9. package/lib/seam/connect/models/connect-webviews/connect-webview.js.map +1 -0
  10. package/lib/seam/connect/models/connect-webviews/index.d.ts +1 -0
  11. package/lib/seam/connect/models/connect-webviews/index.js +2 -0
  12. package/lib/seam/connect/models/connect-webviews/index.js.map +1 -0
  13. package/lib/seam/connect/models/devices/device-metadata.d.ts +5 -0
  14. package/lib/seam/connect/models/devices/device-metadata.js +1 -0
  15. package/lib/seam/connect/models/devices/device-metadata.js.map +1 -1
  16. package/lib/seam/connect/models/devices/managed-device.d.ts +9 -5
  17. package/lib/seam/connect/models/devices/managed-device.js.map +1 -1
  18. package/lib/seam/connect/models/index.d.ts +1 -1
  19. package/lib/seam/connect/models/index.js +1 -1
  20. package/lib/seam/connect/models/index.js.map +1 -1
  21. package/lib/seam/connect/openapi.d.ts +6 -0
  22. package/lib/seam/connect/openapi.js +14 -5
  23. package/lib/seam/connect/openapi.js.map +1 -1
  24. package/lib/seam/connect/route-types.d.ts +20 -11
  25. package/package.json +1 -1
  26. package/src/lib/seam/connect/internal/schemas.ts +2 -0
  27. package/src/lib/seam/connect/models/acs/entrance.ts +1 -0
  28. package/src/lib/seam/connect/models/{connect-webview.ts → connect-webviews/connect-webview.ts} +16 -5
  29. package/src/lib/seam/connect/models/connect-webviews/index.ts +1 -0
  30. package/src/lib/seam/connect/models/devices/device-metadata.ts +1 -0
  31. package/src/lib/seam/connect/models/devices/managed-device.ts +0 -9
  32. package/src/lib/seam/connect/models/index.ts +1 -1
  33. package/src/lib/seam/connect/openapi.ts +14 -5
  34. package/src/lib/seam/connect/route-types.ts +20 -11
  35. package/lib/seam/connect/models/connect-webview.js.map +0 -1
@@ -1773,23 +1773,23 @@ export interface Routes {
1773
1773
  accepted_providers?: Array<'akuvox' | 'august' | 'avigilon_alta' | 'brivo' | 'butterflymx' | 'schlage' | 'smartthings' | 'yale' | 'genie' | 'doorking' | 'salto' | 'lockly' | 'ttlock' | 'linear' | 'noiseaware' | 'nuki' | 'seam_relay_admin' | 'igloo' | 'kwikset' | 'minut' | 'my_2n' | 'controlbyweb' | 'nest' | 'igloohome' | 'ecobee' | 'hubitat' | 'four_suites' | 'dormakaba_oracode' | 'pti' | 'wyze' | 'seam_passport' | 'visionline' | 'assa_abloy_credential_service' | 'seam_bridge' | 'tedee' | 'honeywell_resideo' | 'latch' | 'yale_access' | 'hid_cm' | 'google_nest'> | undefined;
1774
1774
  provider_category?: ('stable' | 'consumer_smartlocks' | 'thermostats' | 'noise_sensors' | 'access_control_systems' | 'internal_beta') | undefined;
1775
1775
  custom_metadata?: Record<string, string | boolean | null> | undefined;
1776
- automatically_manage_new_devices?: boolean | undefined;
1777
- wait_for_device_creation?: boolean | undefined;
1776
+ automatically_manage_new_devices?: boolean;
1777
+ wait_for_device_creation?: boolean;
1778
1778
  };
1779
1779
  commonParams: {};
1780
1780
  formData: {};
1781
1781
  jsonResponse: {
1782
1782
  connect_webview: {
1783
1783
  connect_webview_id: string;
1784
- connected_account_id?: string | undefined;
1785
- url: string;
1786
1784
  workspace_id: string;
1785
+ created_at: string;
1786
+ connected_account_id: string | null;
1787
+ url: string;
1787
1788
  device_selection_mode: 'none' | 'single' | 'multiple';
1788
1789
  accepted_providers: string[];
1789
1790
  accepted_devices: string[];
1790
1791
  any_provider_allowed: boolean;
1791
1792
  any_device_allowed: boolean;
1792
- created_at: string;
1793
1793
  login_successful: boolean;
1794
1794
  status: 'pending' | 'failed' | 'authorized';
1795
1795
  custom_redirect_url: string | null;
@@ -1825,15 +1825,15 @@ export interface Routes {
1825
1825
  jsonResponse: {
1826
1826
  connect_webview: {
1827
1827
  connect_webview_id: string;
1828
- connected_account_id?: string | undefined;
1829
- url: string;
1830
1828
  workspace_id: string;
1829
+ created_at: string;
1830
+ connected_account_id: string | null;
1831
+ url: string;
1831
1832
  device_selection_mode: 'none' | 'single' | 'multiple';
1832
1833
  accepted_providers: string[];
1833
1834
  accepted_devices: string[];
1834
1835
  any_provider_allowed: boolean;
1835
1836
  any_device_allowed: boolean;
1836
- created_at: string;
1837
1837
  login_successful: boolean;
1838
1838
  status: 'pending' | 'failed' | 'authorized';
1839
1839
  custom_redirect_url: string | null;
@@ -1860,15 +1860,15 @@ export interface Routes {
1860
1860
  jsonResponse: {
1861
1861
  connect_webviews: Array<{
1862
1862
  connect_webview_id: string;
1863
- connected_account_id?: string | undefined;
1864
- url: string;
1865
1863
  workspace_id: string;
1864
+ created_at: string;
1865
+ connected_account_id: string | null;
1866
+ url: string;
1866
1867
  device_selection_mode: 'none' | 'single' | 'multiple';
1867
1868
  accepted_providers: string[];
1868
1869
  accepted_devices: string[];
1869
1870
  any_provider_allowed: boolean;
1870
1871
  any_device_allowed: boolean;
1871
- created_at: string;
1872
1872
  login_successful: boolean;
1873
1873
  status: 'pending' | 'failed' | 'authorized';
1874
1874
  custom_redirect_url: string | null;
@@ -2239,6 +2239,7 @@ export interface Routes {
2239
2239
  device_name: string;
2240
2240
  bridge_id?: string | undefined;
2241
2241
  bridge_name?: string | undefined;
2242
+ keypad_id?: string | undefined;
2242
2243
  } | undefined;
2243
2244
  nest_metadata?: {
2244
2245
  nest_device_id: string;
@@ -2770,6 +2771,7 @@ export interface Routes {
2770
2771
  device_name: string;
2771
2772
  bridge_id?: string | undefined;
2772
2773
  bridge_name?: string | undefined;
2774
+ keypad_id?: string | undefined;
2773
2775
  } | undefined;
2774
2776
  nest_metadata?: {
2775
2777
  nest_device_id: string;
@@ -3675,6 +3677,7 @@ export interface Routes {
3675
3677
  device_name: string;
3676
3678
  bridge_id?: string | undefined;
3677
3679
  bridge_name?: string | undefined;
3680
+ keypad_id?: string | undefined;
3678
3681
  } | undefined;
3679
3682
  nest_metadata?: {
3680
3683
  nest_device_id: string;
@@ -4181,6 +4184,7 @@ export interface Routes {
4181
4184
  device_name: string;
4182
4185
  bridge_id?: string | undefined;
4183
4186
  bridge_name?: string | undefined;
4187
+ keypad_id?: string | undefined;
4184
4188
  } | undefined;
4185
4189
  nest_metadata?: {
4186
4190
  nest_device_id: string;
@@ -4712,6 +4716,7 @@ export interface Routes {
4712
4716
  device_name: string;
4713
4717
  bridge_id?: string | undefined;
4714
4718
  bridge_name?: string | undefined;
4719
+ keypad_id?: string | undefined;
4715
4720
  } | undefined;
4716
4721
  nest_metadata?: {
4717
4722
  nest_device_id: string;
@@ -5218,6 +5223,7 @@ export interface Routes {
5218
5223
  device_name: string;
5219
5224
  bridge_id?: string | undefined;
5220
5225
  bridge_name?: string | undefined;
5226
+ keypad_id?: string | undefined;
5221
5227
  } | undefined;
5222
5228
  nest_metadata?: {
5223
5229
  nest_device_id: string;
@@ -6365,6 +6371,7 @@ export interface Routes {
6365
6371
  device_name: string;
6366
6372
  bridge_id?: string | undefined;
6367
6373
  bridge_name?: string | undefined;
6374
+ keypad_id?: string | undefined;
6368
6375
  } | undefined;
6369
6376
  nest_metadata?: {
6370
6377
  nest_device_id: string;
@@ -6972,6 +6979,7 @@ export interface Routes {
6972
6979
  device_name: string;
6973
6980
  bridge_id?: string | undefined;
6974
6981
  bridge_name?: string | undefined;
6982
+ keypad_id?: string | undefined;
6975
6983
  } | undefined;
6976
6984
  nest_metadata?: {
6977
6985
  nest_device_id: string;
@@ -7762,6 +7770,7 @@ export interface Routes {
7762
7770
  device_name: string;
7763
7771
  bridge_id?: string | undefined;
7764
7772
  bridge_name?: string | undefined;
7773
+ keypad_id?: string | undefined;
7765
7774
  } | undefined;
7766
7775
  nest_metadata?: {
7767
7776
  nest_device_id: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/types",
3
- "version": "1.149.0",
3
+ "version": "1.150.0",
4
4
  "description": "TypeScript types for the Seam API.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -20,8 +20,10 @@ export {
20
20
  climate_setting,
21
21
  climate_setting_schedule,
22
22
  common_device_properties,
23
+ connect_webview_device_selection_mode,
23
24
  custom_metadata_input,
24
25
  device_capability_flags,
26
+ device_metadata,
25
27
  dormakaba_oracode_time_slot,
26
28
  enrollment_automation,
27
29
  fan_mode_setting,
@@ -38,6 +38,7 @@ export const acs_entrance = z.object({
38
38
  })
39
39
  .nullable(),
40
40
  })
41
+
41
42
  export type AcsEntranceLatchMetadata = z.infer<
42
43
  typeof acs_entrance_latch_metadata
43
44
  >
@@ -1,18 +1,29 @@
1
1
  import { z } from 'zod'
2
2
 
3
- import { custom_metadata } from './custom-metadata.js'
3
+ import { custom_metadata } from '../custom-metadata.js'
4
+
5
+ export const connect_webview_device_selection_mode = z.enum([
6
+ 'none',
7
+ 'single',
8
+ 'multiple',
9
+ ])
4
10
 
5
11
  export const connect_webview = z.object({
6
12
  connect_webview_id: z.string().uuid(),
7
- connected_account_id: z.string().uuid().optional(),
8
- url: z.string().url(),
9
13
  workspace_id: z.string().uuid(),
10
- device_selection_mode: z.enum(['none', 'single', 'multiple']),
14
+ created_at: z.string().datetime(),
15
+ connected_account_id: z.string().uuid().nullable(),
16
+ url: z.string().url(),
17
+ device_selection_mode: connect_webview_device_selection_mode,
18
+
19
+ // TODO: Use enum value.
11
20
  accepted_providers: z.array(z.string()),
21
+
22
+ // TODO: Use enum value.
12
23
  accepted_devices: z.array(z.string()),
24
+
13
25
  any_provider_allowed: z.boolean(),
14
26
  any_device_allowed: z.boolean(),
15
- created_at: z.string().datetime(),
16
27
  login_successful: z.boolean(),
17
28
  status: z.enum(['pending', 'failed', 'authorized']),
18
29
  custom_redirect_url: z.string().url().nullable(),
@@ -0,0 +1 @@
1
+ export * from './connect-webview.js'
@@ -163,6 +163,7 @@ export const device_metadata = z
163
163
  device_name: z.string(),
164
164
  bridge_id: z.string().optional(),
165
165
  bridge_name: z.string().optional(),
166
+ keypad_id: z.string().optional(),
166
167
  }),
167
168
 
168
169
  nest_metadata: z.object({
@@ -1,4 +1,3 @@
1
- import type { SetRequired, Simplify } from 'type-fest'
2
1
  import { z } from 'zod'
3
2
 
4
3
  import { schemas as devicedb_schemas } from '@seamapi/types/devicedb'
@@ -229,11 +228,3 @@ export const managed_device = z
229
228
  .merge(device_capability_flags)
230
229
 
231
230
  export type ManagedDevice = z.infer<typeof managed_device>
232
-
233
- export type ManagedDeviceWithBackendMetadata<
234
- MetadataKey extends keyof z.infer<typeof device_metadata>,
235
- > = Simplify<
236
- ManagedDevice & {
237
- properties: SetRequired<ManagedDevice['properties'], MetadataKey>
238
- }
239
- >
@@ -1,7 +1,7 @@
1
1
  export * from './access-codes/index.js'
2
2
  export * from './acs/index.js'
3
3
  export * from './capability-properties/index.js'
4
- export * from './connect-webview.js'
4
+ export * from './connect-webviews/index.js'
5
5
  export * from './custom-metadata.js'
6
6
  export * from './devices/index.js'
7
7
  export * from './network.js'
@@ -434,7 +434,11 @@ export default {
434
434
  },
435
435
  automatically_manage_new_devices: { type: 'boolean' },
436
436
  connect_webview_id: { format: 'uuid', type: 'string' },
437
- connected_account_id: { format: 'uuid', type: 'string' },
437
+ connected_account_id: {
438
+ format: 'uuid',
439
+ nullable: true,
440
+ type: 'string',
441
+ },
438
442
  created_at: { format: 'date-time', type: 'string' },
439
443
  custom_metadata: {
440
444
  additionalProperties: {
@@ -465,14 +469,15 @@ export default {
465
469
  },
466
470
  required: [
467
471
  'connect_webview_id',
468
- 'url',
469
472
  'workspace_id',
473
+ 'created_at',
474
+ 'connected_account_id',
475
+ 'url',
470
476
  'device_selection_mode',
471
477
  'accepted_providers',
472
478
  'accepted_devices',
473
479
  'any_provider_allowed',
474
480
  'any_device_allowed',
475
- 'created_at',
476
481
  'login_successful',
477
482
  'status',
478
483
  'custom_redirect_url',
@@ -1014,6 +1019,7 @@ export default {
1014
1019
  bridge_name: { type: 'string' },
1015
1020
  device_id: { type: 'string' },
1016
1021
  device_name: { type: 'string' },
1022
+ keypad_id: { type: 'string' },
1017
1023
  },
1018
1024
  required: ['device_id', 'device_name'],
1019
1025
  type: 'object',
@@ -7234,7 +7240,10 @@ export default {
7234
7240
  },
7235
7241
  type: 'array',
7236
7242
  },
7237
- automatically_manage_new_devices: { type: 'boolean' },
7243
+ automatically_manage_new_devices: {
7244
+ default: true,
7245
+ type: 'boolean',
7246
+ },
7238
7247
  custom_metadata: {
7239
7248
  additionalProperties: {
7240
7249
  nullable: true,
@@ -7263,7 +7272,7 @@ export default {
7263
7272
  ],
7264
7273
  type: 'string',
7265
7274
  },
7266
- wait_for_device_creation: { type: 'boolean' },
7275
+ wait_for_device_creation: { default: false, type: 'boolean' },
7267
7276
  },
7268
7277
  type: 'object',
7269
7278
  },
@@ -2025,23 +2025,23 @@ export interface Routes {
2025
2025
  )
2026
2026
  | undefined
2027
2027
  custom_metadata?: Record<string, string | boolean | null> | undefined
2028
- automatically_manage_new_devices?: boolean | undefined
2029
- wait_for_device_creation?: boolean | undefined
2028
+ automatically_manage_new_devices?: boolean
2029
+ wait_for_device_creation?: boolean
2030
2030
  }
2031
2031
  commonParams: {}
2032
2032
  formData: {}
2033
2033
  jsonResponse: {
2034
2034
  connect_webview: {
2035
2035
  connect_webview_id: string
2036
- connected_account_id?: string | undefined
2037
- url: string
2038
2036
  workspace_id: string
2037
+ created_at: string
2038
+ connected_account_id: string | null
2039
+ url: string
2039
2040
  device_selection_mode: 'none' | 'single' | 'multiple'
2040
2041
  accepted_providers: string[]
2041
2042
  accepted_devices: string[]
2042
2043
  any_provider_allowed: boolean
2043
2044
  any_device_allowed: boolean
2044
- created_at: string
2045
2045
  login_successful: boolean
2046
2046
  status: 'pending' | 'failed' | 'authorized'
2047
2047
  custom_redirect_url: string | null
@@ -2077,15 +2077,15 @@ export interface Routes {
2077
2077
  jsonResponse: {
2078
2078
  connect_webview: {
2079
2079
  connect_webview_id: string
2080
- connected_account_id?: string | undefined
2081
- url: string
2082
2080
  workspace_id: string
2081
+ created_at: string
2082
+ connected_account_id: string | null
2083
+ url: string
2083
2084
  device_selection_mode: 'none' | 'single' | 'multiple'
2084
2085
  accepted_providers: string[]
2085
2086
  accepted_devices: string[]
2086
2087
  any_provider_allowed: boolean
2087
2088
  any_device_allowed: boolean
2088
- created_at: string
2089
2089
  login_successful: boolean
2090
2090
  status: 'pending' | 'failed' | 'authorized'
2091
2091
  custom_redirect_url: string | null
@@ -2112,15 +2112,15 @@ export interface Routes {
2112
2112
  jsonResponse: {
2113
2113
  connect_webviews: Array<{
2114
2114
  connect_webview_id: string
2115
- connected_account_id?: string | undefined
2116
- url: string
2117
2115
  workspace_id: string
2116
+ created_at: string
2117
+ connected_account_id: string | null
2118
+ url: string
2118
2119
  device_selection_mode: 'none' | 'single' | 'multiple'
2119
2120
  accepted_providers: string[]
2120
2121
  accepted_devices: string[]
2121
2122
  any_provider_allowed: boolean
2122
2123
  any_device_allowed: boolean
2123
- created_at: string
2124
2124
  login_successful: boolean
2125
2125
  status: 'pending' | 'failed' | 'authorized'
2126
2126
  custom_redirect_url: string | null
@@ -2589,6 +2589,7 @@ export interface Routes {
2589
2589
  device_name: string
2590
2590
  bridge_id?: string | undefined
2591
2591
  bridge_name?: string | undefined
2592
+ keypad_id?: string | undefined
2592
2593
  }
2593
2594
  | undefined
2594
2595
  nest_metadata?:
@@ -3466,6 +3467,7 @@ export interface Routes {
3466
3467
  device_name: string
3467
3468
  bridge_id?: string | undefined
3468
3469
  bridge_name?: string | undefined
3470
+ keypad_id?: string | undefined
3469
3471
  }
3470
3472
  | undefined
3471
3473
  nest_metadata?:
@@ -4976,6 +4978,7 @@ export interface Routes {
4976
4978
  device_name: string
4977
4979
  bridge_id?: string | undefined
4978
4980
  bridge_name?: string | undefined
4981
+ keypad_id?: string | undefined
4979
4982
  }
4980
4983
  | undefined
4981
4984
  nest_metadata?:
@@ -5701,6 +5704,7 @@ export interface Routes {
5701
5704
  device_name: string
5702
5705
  bridge_id?: string | undefined
5703
5706
  bridge_name?: string | undefined
5707
+ keypad_id?: string | undefined
5704
5708
  }
5705
5709
  | undefined
5706
5710
  nest_metadata?:
@@ -6578,6 +6582,7 @@ export interface Routes {
6578
6582
  device_name: string
6579
6583
  bridge_id?: string | undefined
6580
6584
  bridge_name?: string | undefined
6585
+ keypad_id?: string | undefined
6581
6586
  }
6582
6587
  | undefined
6583
6588
  nest_metadata?:
@@ -7303,6 +7308,7 @@ export interface Routes {
7303
7308
  device_name: string
7304
7309
  bridge_id?: string | undefined
7305
7310
  bridge_name?: string | undefined
7311
+ keypad_id?: string | undefined
7306
7312
  }
7307
7313
  | undefined
7308
7314
  nest_metadata?:
@@ -8705,6 +8711,7 @@ export interface Routes {
8705
8711
  device_name: string
8706
8712
  bridge_id?: string | undefined
8707
8713
  bridge_name?: string | undefined
8714
+ keypad_id?: string | undefined
8708
8715
  }
8709
8716
  | undefined
8710
8717
  nest_metadata?:
@@ -9664,6 +9671,7 @@ export interface Routes {
9664
9671
  device_name: string
9665
9672
  bridge_id?: string | undefined
9666
9673
  bridge_name?: string | undefined
9674
+ keypad_id?: string | undefined
9667
9675
  }
9668
9676
  | undefined
9669
9677
  nest_metadata?:
@@ -10681,6 +10689,7 @@ export interface Routes {
10681
10689
  device_name: string
10682
10690
  bridge_id?: string | undefined
10683
10691
  bridge_name?: string | undefined
10692
+ keypad_id?: string | undefined
10684
10693
  }
10685
10694
  | undefined
10686
10695
  nest_metadata?:
@@ -1 +0,0 @@
1
- {"version":3,"file":"connect-webview.js","sourceRoot":"","sources":["../../../../src/lib/seam/connect/models/connect-webview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACrC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAClD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACrB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC/B,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7D,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACvC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE;IACjC,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACnD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAChD,2BAA2B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACxD,eAAe;IACf,gCAAgC,EAAE,CAAC,CAAC,OAAO,EAAE;IAC7C,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE;IACrC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAA"}