devtools-protocol 0.0.1452169 → 0.0.1453071
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.
@@ -17951,7 +17951,7 @@
|
|
17951
17951
|
},
|
17952
17952
|
{
|
17953
17953
|
"id": "PermissionsPolicyFeature",
|
17954
|
-
"description": "All Permissions Policy features. This enum should match the one defined\nin services/network/public/cpp/permissions_policy/permissions_policy_features.json5.",
|
17954
|
+
"description": "All Permissions Policy features. This enum should match the one defined\nin services/network/public/cpp/permissions_policy/permissions_policy_features.json5.\nLINT.IfChange(PermissionsPolicyFeature)",
|
17955
17955
|
"experimental": true,
|
17956
17956
|
"type": "string",
|
17957
17957
|
"enum": [
|
@@ -18019,6 +18019,7 @@
|
|
18019
18019
|
"keyboard-map",
|
18020
18020
|
"language-detector",
|
18021
18021
|
"local-fonts",
|
18022
|
+
"local-network-access",
|
18022
18023
|
"magnetometer",
|
18023
18024
|
"media-playback-while-not-visible",
|
18024
18025
|
"microphone",
|
@@ -18032,6 +18033,7 @@
|
|
18032
18033
|
"private-state-token-redemption",
|
18033
18034
|
"publickey-credentials-create",
|
18034
18035
|
"publickey-credentials-get",
|
18036
|
+
"record-ad-auction-events",
|
18035
18037
|
"rewriter",
|
18036
18038
|
"run-ad-auction",
|
18037
18039
|
"screen-wake-lock",
|
@@ -28115,6 +28117,27 @@
|
|
28115
28117
|
"discovery"
|
28116
28118
|
]
|
28117
28119
|
},
|
28120
|
+
{
|
28121
|
+
"id": "CharacteristicWriteType",
|
28122
|
+
"description": "Indicates the various types of characteristic write.",
|
28123
|
+
"type": "string",
|
28124
|
+
"enum": [
|
28125
|
+
"write-default-deprecated",
|
28126
|
+
"write-with-response",
|
28127
|
+
"write-without-response"
|
28128
|
+
]
|
28129
|
+
},
|
28130
|
+
{
|
28131
|
+
"id": "CharacteristicOperationType",
|
28132
|
+
"description": "Indicates the various types of characteristic operation.",
|
28133
|
+
"type": "string",
|
28134
|
+
"enum": [
|
28135
|
+
"read",
|
28136
|
+
"write",
|
28137
|
+
"subscribe-to-notifications",
|
28138
|
+
"unsubscribe-from-notifications"
|
28139
|
+
]
|
28140
|
+
},
|
28118
28141
|
{
|
28119
28142
|
"id": "ManufacturerData",
|
28120
28143
|
"description": "Stores the manufacturer data",
|
@@ -28328,6 +28351,29 @@
|
|
28328
28351
|
}
|
28329
28352
|
]
|
28330
28353
|
},
|
28354
|
+
{
|
28355
|
+
"name": "simulateCharacteristicOperationResponse",
|
28356
|
+
"description": "Simulates the response from the characteristic with |characteristicId| for a\ncharacteristic operation of |type|. The |code| value follows the Error\nCodes from Bluetooth Core Specification Vol 3 Part F 3.4.1.1 Error Response.\nThe |data| is expected to exist when simulating a successful read operation\nresponse.",
|
28357
|
+
"parameters": [
|
28358
|
+
{
|
28359
|
+
"name": "characteristicId",
|
28360
|
+
"type": "string"
|
28361
|
+
},
|
28362
|
+
{
|
28363
|
+
"name": "type",
|
28364
|
+
"$ref": "CharacteristicOperationType"
|
28365
|
+
},
|
28366
|
+
{
|
28367
|
+
"name": "code",
|
28368
|
+
"type": "integer"
|
28369
|
+
},
|
28370
|
+
{
|
28371
|
+
"name": "data",
|
28372
|
+
"optional": true,
|
28373
|
+
"type": "string"
|
28374
|
+
}
|
28375
|
+
]
|
28376
|
+
},
|
28331
28377
|
{
|
28332
28378
|
"name": "addService",
|
28333
28379
|
"description": "Adds a service with |serviceUuid| to the peripheral with |address|.",
|
@@ -28440,6 +28486,30 @@
|
|
28440
28486
|
"$ref": "GATTOperationType"
|
28441
28487
|
}
|
28442
28488
|
]
|
28489
|
+
},
|
28490
|
+
{
|
28491
|
+
"name": "characteristicOperationReceived",
|
28492
|
+
"description": "Event for when a characteristic operation of |type| to the characteristic\nrespresented by |characteristicId| happened. |data| and |writeType| is\nexpected to exist when |type| is write.",
|
28493
|
+
"parameters": [
|
28494
|
+
{
|
28495
|
+
"name": "characteristicId",
|
28496
|
+
"type": "string"
|
28497
|
+
},
|
28498
|
+
{
|
28499
|
+
"name": "type",
|
28500
|
+
"$ref": "CharacteristicOperationType"
|
28501
|
+
},
|
28502
|
+
{
|
28503
|
+
"name": "data",
|
28504
|
+
"optional": true,
|
28505
|
+
"type": "string"
|
28506
|
+
},
|
28507
|
+
{
|
28508
|
+
"name": "writeType",
|
28509
|
+
"optional": true,
|
28510
|
+
"$ref": "CharacteristicWriteType"
|
28511
|
+
}
|
28512
|
+
]
|
28443
28513
|
}
|
28444
28514
|
]
|
28445
28515
|
}
|
package/package.json
CHANGED
package/pdl/browser_protocol.pdl
CHANGED
@@ -8455,6 +8455,7 @@ domain Page
|
|
8455
8455
|
|
8456
8456
|
# All Permissions Policy features. This enum should match the one defined
|
8457
8457
|
# in services/network/public/cpp/permissions_policy/permissions_policy_features.json5.
|
8458
|
+
# LINT.IfChange(PermissionsPolicyFeature)
|
8458
8459
|
experimental type PermissionsPolicyFeature extends string
|
8459
8460
|
enum
|
8460
8461
|
accelerometer
|
@@ -8521,6 +8522,7 @@ domain Page
|
|
8521
8522
|
keyboard-map
|
8522
8523
|
language-detector
|
8523
8524
|
local-fonts
|
8525
|
+
local-network-access
|
8524
8526
|
magnetometer
|
8525
8527
|
media-playback-while-not-visible
|
8526
8528
|
microphone
|
@@ -8534,6 +8536,7 @@ domain Page
|
|
8534
8536
|
private-state-token-redemption
|
8535
8537
|
publickey-credentials-create
|
8536
8538
|
publickey-credentials-get
|
8539
|
+
record-ad-auction-events
|
8537
8540
|
rewriter
|
8538
8541
|
run-ad-auction
|
8539
8542
|
screen-wake-lock
|
@@ -8558,6 +8561,7 @@ domain Page
|
|
8558
8561
|
window-management
|
8559
8562
|
writer
|
8560
8563
|
xr-spatial-tracking
|
8564
|
+
# LINT.ThenChange(//services/network/public/cpp/permissions_policy/permissions_policy_features.json5:PermissionsPolicy)
|
8561
8565
|
|
8562
8566
|
# Reason for a permissions policy feature to be disabled.
|
8563
8567
|
experimental type PermissionsPolicyBlockReason extends string
|
@@ -13351,6 +13355,21 @@ experimental domain BluetoothEmulation
|
|
13351
13355
|
connection
|
13352
13356
|
discovery
|
13353
13357
|
|
13358
|
+
# Indicates the various types of characteristic write.
|
13359
|
+
type CharacteristicWriteType extends string
|
13360
|
+
enum
|
13361
|
+
write-default-deprecated
|
13362
|
+
write-with-response
|
13363
|
+
write-without-response
|
13364
|
+
|
13365
|
+
# Indicates the various types of characteristic operation.
|
13366
|
+
type CharacteristicOperationType extends string
|
13367
|
+
enum
|
13368
|
+
read
|
13369
|
+
write
|
13370
|
+
subscribe-to-notifications
|
13371
|
+
unsubscribe-from-notifications
|
13372
|
+
|
13354
13373
|
# Stores the manufacturer data
|
13355
13374
|
type ManufacturerData extends object
|
13356
13375
|
properties
|
@@ -13435,6 +13454,18 @@ experimental domain BluetoothEmulation
|
|
13435
13454
|
GATTOperationType type
|
13436
13455
|
integer code
|
13437
13456
|
|
13457
|
+
# Simulates the response from the characteristic with |characteristicId| for a
|
13458
|
+
# characteristic operation of |type|. The |code| value follows the Error
|
13459
|
+
# Codes from Bluetooth Core Specification Vol 3 Part F 3.4.1.1 Error Response.
|
13460
|
+
# The |data| is expected to exist when simulating a successful read operation
|
13461
|
+
# response.
|
13462
|
+
command simulateCharacteristicOperationResponse
|
13463
|
+
parameters
|
13464
|
+
string characteristicId
|
13465
|
+
CharacteristicOperationType type
|
13466
|
+
integer code
|
13467
|
+
optional binary data
|
13468
|
+
|
13438
13469
|
# Adds a service with |serviceUuid| to the peripheral with |address|.
|
13439
13470
|
command addService
|
13440
13471
|
parameters
|
@@ -13487,3 +13518,13 @@ experimental domain BluetoothEmulation
|
|
13487
13518
|
parameters
|
13488
13519
|
string address
|
13489
13520
|
GATTOperationType type
|
13521
|
+
|
13522
|
+
# Event for when a characteristic operation of |type| to the characteristic
|
13523
|
+
# respresented by |characteristicId| happened. |data| and |writeType| is
|
13524
|
+
# expected to exist when |type| is write.
|
13525
|
+
event characteristicOperationReceived
|
13526
|
+
parameters
|
13527
|
+
string characteristicId
|
13528
|
+
CharacteristicOperationType type
|
13529
|
+
optional binary data
|
13530
|
+
optional CharacteristicWriteType writeType
|
@@ -841,6 +841,12 @@ export namespace ProtocolMapping {
|
|
841
841
|
* happened.
|
842
842
|
*/
|
843
843
|
'BluetoothEmulation.gattOperationReceived': [Protocol.BluetoothEmulation.GattOperationReceivedEvent];
|
844
|
+
/**
|
845
|
+
* Event for when a characteristic operation of |type| to the characteristic
|
846
|
+
* respresented by |characteristicId| happened. |data| and |writeType| is
|
847
|
+
* expected to exist when |type| is write.
|
848
|
+
*/
|
849
|
+
'BluetoothEmulation.characteristicOperationReceived': [Protocol.BluetoothEmulation.CharacteristicOperationReceivedEvent];
|
844
850
|
}
|
845
851
|
|
846
852
|
export interface Commands {
|
@@ -5348,6 +5354,17 @@ export namespace ProtocolMapping {
|
|
5348
5354
|
paramsType: [Protocol.BluetoothEmulation.SimulateGATTOperationResponseRequest];
|
5349
5355
|
returnType: void;
|
5350
5356
|
};
|
5357
|
+
/**
|
5358
|
+
* Simulates the response from the characteristic with |characteristicId| for a
|
5359
|
+
* characteristic operation of |type|. The |code| value follows the Error
|
5360
|
+
* Codes from Bluetooth Core Specification Vol 3 Part F 3.4.1.1 Error Response.
|
5361
|
+
* The |data| is expected to exist when simulating a successful read operation
|
5362
|
+
* response.
|
5363
|
+
*/
|
5364
|
+
'BluetoothEmulation.simulateCharacteristicOperationResponse': {
|
5365
|
+
paramsType: [Protocol.BluetoothEmulation.SimulateCharacteristicOperationResponseRequest];
|
5366
|
+
returnType: void;
|
5367
|
+
};
|
5351
5368
|
/**
|
5352
5369
|
* Adds a service with |serviceUuid| to the peripheral with |address|.
|
5353
5370
|
*/
|
@@ -4570,6 +4570,15 @@ export namespace ProtocolProxyApi {
|
|
4570
4570
|
*/
|
4571
4571
|
simulateGATTOperationResponse(params: Protocol.BluetoothEmulation.SimulateGATTOperationResponseRequest): Promise<void>;
|
4572
4572
|
|
4573
|
+
/**
|
4574
|
+
* Simulates the response from the characteristic with |characteristicId| for a
|
4575
|
+
* characteristic operation of |type|. The |code| value follows the Error
|
4576
|
+
* Codes from Bluetooth Core Specification Vol 3 Part F 3.4.1.1 Error Response.
|
4577
|
+
* The |data| is expected to exist when simulating a successful read operation
|
4578
|
+
* response.
|
4579
|
+
*/
|
4580
|
+
simulateCharacteristicOperationResponse(params: Protocol.BluetoothEmulation.SimulateCharacteristicOperationResponseRequest): Promise<void>;
|
4581
|
+
|
4573
4582
|
/**
|
4574
4583
|
* Adds a service with |serviceUuid| to the peripheral with |address|.
|
4575
4584
|
*/
|
@@ -4609,6 +4618,13 @@ export namespace ProtocolProxyApi {
|
|
4609
4618
|
*/
|
4610
4619
|
on(event: 'gattOperationReceived', listener: (params: Protocol.BluetoothEmulation.GattOperationReceivedEvent) => void): void;
|
4611
4620
|
|
4621
|
+
/**
|
4622
|
+
* Event for when a characteristic operation of |type| to the characteristic
|
4623
|
+
* respresented by |characteristicId| happened. |data| and |writeType| is
|
4624
|
+
* expected to exist when |type| is write.
|
4625
|
+
*/
|
4626
|
+
on(event: 'characteristicOperationReceived', listener: (params: Protocol.BluetoothEmulation.CharacteristicOperationReceivedEvent) => void): void;
|
4627
|
+
|
4612
4628
|
}
|
4613
4629
|
}
|
4614
4630
|
|
@@ -4980,6 +4980,15 @@ export namespace ProtocolTestsProxyApi {
|
|
4980
4980
|
*/
|
4981
4981
|
simulateGATTOperationResponse(params: Protocol.BluetoothEmulation.SimulateGATTOperationResponseRequest): Promise<{id: number, result: void, sessionId: string}>;
|
4982
4982
|
|
4983
|
+
/**
|
4984
|
+
* Simulates the response from the characteristic with |characteristicId| for a
|
4985
|
+
* characteristic operation of |type|. The |code| value follows the Error
|
4986
|
+
* Codes from Bluetooth Core Specification Vol 3 Part F 3.4.1.1 Error Response.
|
4987
|
+
* The |data| is expected to exist when simulating a successful read operation
|
4988
|
+
* response.
|
4989
|
+
*/
|
4990
|
+
simulateCharacteristicOperationResponse(params: Protocol.BluetoothEmulation.SimulateCharacteristicOperationResponseRequest): Promise<{id: number, result: void, sessionId: string}>;
|
4991
|
+
|
4983
4992
|
/**
|
4984
4993
|
* Adds a service with |serviceUuid| to the peripheral with |address|.
|
4985
4994
|
*/
|
@@ -5021,6 +5030,15 @@ export namespace ProtocolTestsProxyApi {
|
|
5021
5030
|
offGattOperationReceived(listener: (event: { params: Protocol.BluetoothEmulation.GattOperationReceivedEvent }) => void): void;
|
5022
5031
|
onceGattOperationReceived(eventMatcher?: (event: { params: Protocol.BluetoothEmulation.GattOperationReceivedEvent }) => boolean): Promise<{ params: Protocol.BluetoothEmulation.GattOperationReceivedEvent }>;
|
5023
5032
|
|
5033
|
+
/**
|
5034
|
+
* Event for when a characteristic operation of |type| to the characteristic
|
5035
|
+
* respresented by |characteristicId| happened. |data| and |writeType| is
|
5036
|
+
* expected to exist when |type| is write.
|
5037
|
+
*/
|
5038
|
+
onCharacteristicOperationReceived(listener: (event: { params: Protocol.BluetoothEmulation.CharacteristicOperationReceivedEvent }) => void): void;
|
5039
|
+
offCharacteristicOperationReceived(listener: (event: { params: Protocol.BluetoothEmulation.CharacteristicOperationReceivedEvent }) => void): void;
|
5040
|
+
onceCharacteristicOperationReceived(eventMatcher?: (event: { params: Protocol.BluetoothEmulation.CharacteristicOperationReceivedEvent }) => boolean): Promise<{ params: Protocol.BluetoothEmulation.CharacteristicOperationReceivedEvent }>;
|
5041
|
+
|
5024
5042
|
}
|
5025
5043
|
}
|
5026
5044
|
|
package/types/protocol.d.ts
CHANGED
@@ -13899,8 +13899,9 @@ export namespace Protocol {
|
|
13899
13899
|
/**
|
13900
13900
|
* All Permissions Policy features. This enum should match the one defined
|
13901
13901
|
* in services/network/public/cpp/permissions_policy/permissions_policy_features.json5.
|
13902
|
+
* LINT.IfChange(PermissionsPolicyFeature)
|
13902
13903
|
*/
|
13903
|
-
export type PermissionsPolicyFeature = ('accelerometer' | 'all-screens-capture' | 'ambient-light-sensor' | 'attribution-reporting' | 'autoplay' | 'bluetooth' | 'browsing-topics' | 'camera' | 'captured-surface-control' | 'ch-dpr' | 'ch-device-memory' | 'ch-downlink' | 'ch-ect' | 'ch-prefers-color-scheme' | 'ch-prefers-reduced-motion' | 'ch-prefers-reduced-transparency' | 'ch-rtt' | 'ch-save-data' | 'ch-ua' | 'ch-ua-arch' | 'ch-ua-bitness' | 'ch-ua-high-entropy-values' | 'ch-ua-platform' | 'ch-ua-model' | 'ch-ua-mobile' | 'ch-ua-form-factors' | 'ch-ua-full-version' | 'ch-ua-full-version-list' | 'ch-ua-platform-version' | 'ch-ua-wow64' | 'ch-viewport-height' | 'ch-viewport-width' | 'ch-width' | 'clipboard-read' | 'clipboard-write' | 'compute-pressure' | 'controlled-frame' | 'cross-origin-isolated' | 'deferred-fetch' | 'deferred-fetch-minimal' | 'device-attributes' | 'digital-credentials-get' | 'direct-sockets' | 'direct-sockets-private' | 'display-capture' | 'document-domain' | 'encrypted-media' | 'execution-while-out-of-viewport' | 'execution-while-not-rendered' | 'fenced-unpartitioned-storage-read' | 'focus-without-user-activation' | 'fullscreen' | 'frobulate' | 'gamepad' | 'geolocation' | 'gyroscope' | 'hid' | 'identity-credentials-get' | 'idle-detection' | 'interest-cohort' | 'join-ad-interest-group' | 'keyboard-map' | 'language-detector' | 'local-fonts' | 'magnetometer' | 'media-playback-while-not-visible' | 'microphone' | 'midi' | 'otp-credentials' | 'payment' | 'picture-in-picture' | 'popins' | 'private-aggregation' | 'private-state-token-issuance' | 'private-state-token-redemption' | 'publickey-credentials-create' | 'publickey-credentials-get' | 'rewriter' | 'run-ad-auction' | 'screen-wake-lock' | 'serial' | 'shared-autofill' | 'shared-storage' | 'shared-storage-select-url' | 'smart-card' | 'speaker-selection' | 'storage-access' | 'sub-apps' | 'summarizer' | 'sync-xhr' | 'translator' | 'unload' | 'usb' | 'usb-unrestricted' | 'vertical-scroll' | 'web-app-installation' | 'web-printing' | 'web-share' | 'window-management' | 'writer' | 'xr-spatial-tracking');
|
13904
|
+
export type PermissionsPolicyFeature = ('accelerometer' | 'all-screens-capture' | 'ambient-light-sensor' | 'attribution-reporting' | 'autoplay' | 'bluetooth' | 'browsing-topics' | 'camera' | 'captured-surface-control' | 'ch-dpr' | 'ch-device-memory' | 'ch-downlink' | 'ch-ect' | 'ch-prefers-color-scheme' | 'ch-prefers-reduced-motion' | 'ch-prefers-reduced-transparency' | 'ch-rtt' | 'ch-save-data' | 'ch-ua' | 'ch-ua-arch' | 'ch-ua-bitness' | 'ch-ua-high-entropy-values' | 'ch-ua-platform' | 'ch-ua-model' | 'ch-ua-mobile' | 'ch-ua-form-factors' | 'ch-ua-full-version' | 'ch-ua-full-version-list' | 'ch-ua-platform-version' | 'ch-ua-wow64' | 'ch-viewport-height' | 'ch-viewport-width' | 'ch-width' | 'clipboard-read' | 'clipboard-write' | 'compute-pressure' | 'controlled-frame' | 'cross-origin-isolated' | 'deferred-fetch' | 'deferred-fetch-minimal' | 'device-attributes' | 'digital-credentials-get' | 'direct-sockets' | 'direct-sockets-private' | 'display-capture' | 'document-domain' | 'encrypted-media' | 'execution-while-out-of-viewport' | 'execution-while-not-rendered' | 'fenced-unpartitioned-storage-read' | 'focus-without-user-activation' | 'fullscreen' | 'frobulate' | 'gamepad' | 'geolocation' | 'gyroscope' | 'hid' | 'identity-credentials-get' | 'idle-detection' | 'interest-cohort' | 'join-ad-interest-group' | 'keyboard-map' | 'language-detector' | 'local-fonts' | 'local-network-access' | 'magnetometer' | 'media-playback-while-not-visible' | 'microphone' | 'midi' | 'otp-credentials' | 'payment' | 'picture-in-picture' | 'popins' | 'private-aggregation' | 'private-state-token-issuance' | 'private-state-token-redemption' | 'publickey-credentials-create' | 'publickey-credentials-get' | 'record-ad-auction-events' | 'rewriter' | 'run-ad-auction' | 'screen-wake-lock' | 'serial' | 'shared-autofill' | 'shared-storage' | 'shared-storage-select-url' | 'smart-card' | 'speaker-selection' | 'storage-access' | 'sub-apps' | 'summarizer' | 'sync-xhr' | 'translator' | 'unload' | 'usb' | 'usb-unrestricted' | 'vertical-scroll' | 'web-app-installation' | 'web-printing' | 'web-share' | 'window-management' | 'writer' | 'xr-spatial-tracking');
|
13904
13905
|
|
13905
13906
|
/**
|
13906
13907
|
* Reason for a permissions policy feature to be disabled.
|
@@ -19638,6 +19639,16 @@ export namespace Protocol {
|
|
19638
19639
|
*/
|
19639
19640
|
export type GATTOperationType = ('connection' | 'discovery');
|
19640
19641
|
|
19642
|
+
/**
|
19643
|
+
* Indicates the various types of characteristic write.
|
19644
|
+
*/
|
19645
|
+
export type CharacteristicWriteType = ('write-default-deprecated' | 'write-with-response' | 'write-without-response');
|
19646
|
+
|
19647
|
+
/**
|
19648
|
+
* Indicates the various types of characteristic operation.
|
19649
|
+
*/
|
19650
|
+
export type CharacteristicOperationType = ('read' | 'write' | 'subscribe-to-notifications' | 'unsubscribe-from-notifications');
|
19651
|
+
|
19641
19652
|
/**
|
19642
19653
|
* Stores the manufacturer data
|
19643
19654
|
*/
|
@@ -19734,6 +19745,13 @@ export namespace Protocol {
|
|
19734
19745
|
code: integer;
|
19735
19746
|
}
|
19736
19747
|
|
19748
|
+
export interface SimulateCharacteristicOperationResponseRequest {
|
19749
|
+
characteristicId: string;
|
19750
|
+
type: CharacteristicOperationType;
|
19751
|
+
code: integer;
|
19752
|
+
data?: string;
|
19753
|
+
}
|
19754
|
+
|
19737
19755
|
export interface AddServiceRequest {
|
19738
19756
|
address: string;
|
19739
19757
|
serviceUuid: string;
|
@@ -19791,6 +19809,18 @@ export namespace Protocol {
|
|
19791
19809
|
address: string;
|
19792
19810
|
type: GATTOperationType;
|
19793
19811
|
}
|
19812
|
+
|
19813
|
+
/**
|
19814
|
+
* Event for when a characteristic operation of |type| to the characteristic
|
19815
|
+
* respresented by |characteristicId| happened. |data| and |writeType| is
|
19816
|
+
* expected to exist when |type| is write.
|
19817
|
+
*/
|
19818
|
+
export interface CharacteristicOperationReceivedEvent {
|
19819
|
+
characteristicId: string;
|
19820
|
+
type: CharacteristicOperationType;
|
19821
|
+
data?: string;
|
19822
|
+
writeType?: CharacteristicWriteType;
|
19823
|
+
}
|
19794
19824
|
}
|
19795
19825
|
}
|
19796
19826
|
|