diff options
Diffstat (limited to 'vendor/go.mau.fi/whatsmeow/binary/proto/def.proto')
-rw-r--r-- | vendor/go.mau.fi/whatsmeow/binary/proto/def.proto | 440 |
1 files changed, 314 insertions, 126 deletions
diff --git a/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto b/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto index cdfc0c35..7e496add 100644 --- a/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto +++ b/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto @@ -16,6 +16,7 @@ message ADVSignedDeviceIdentity { message ADVSignedDeviceIdentityHMAC { optional bytes details = 1; optional bytes hmac = 2; + optional ADVEncryptionType accountType = 3; } message ADVKeyIndexList { @@ -23,12 +24,19 @@ message ADVKeyIndexList { optional uint64 timestamp = 2; optional uint32 currentIndex = 3; repeated uint32 validIndexes = 4 [packed=true]; + optional ADVEncryptionType accountType = 5; } +enum ADVEncryptionType { + E2EE = 0; + HOSTED = 1; +} message ADVDeviceIdentity { optional uint32 rawId = 1; optional uint64 timestamp = 2; optional uint32 keyIndex = 3; + optional ADVEncryptionType accountType = 4; + optional ADVEncryptionType deviceType = 5; } message DeviceProps { @@ -51,11 +59,18 @@ message DeviceProps { IOS_CATALYST = 15; ANDROID_PHONE = 16; ANDROID_AMBIGUOUS = 17; + WEAR_OS = 18; + AR_WRIST = 19; + AR_DEVICE = 20; + UWP = 21; + VR = 22; } message HistorySyncConfig { optional uint32 fullSyncDaysLimit = 1; optional uint32 fullSyncSizeMbLimit = 2; optional uint32 storageQuotaMb = 3; + optional bool inlineInitialPayloadInE2EeMsg = 4; + optional uint32 recentSyncDaysLimit = 5; } message AppVersion { @@ -73,76 +88,6 @@ message DeviceProps { optional HistorySyncConfig historySyncConfig = 5; } -message PeerDataOperationRequestMessage { - message RequestUrlPreview { - optional string url = 1; - } - - message RequestStickerReupload { - optional string fileSha256 = 1; - } - - message HistorySyncOnDemandRequest { - optional string chatJid = 1; - optional string oldestMsgId = 2; - optional bool oldestMsgFromMe = 3; - optional int32 onDemandMsgCount = 4; - optional int64 oldestMsgTimestampMs = 5; - } - - optional PeerDataOperationRequestType peerDataOperationRequestType = 1; - repeated RequestStickerReupload requestStickerReupload = 2; - repeated RequestUrlPreview requestUrlPreview = 3; - optional HistorySyncOnDemandRequest historySyncOnDemandRequest = 4; -} - -message PaymentInviteMessage { - enum ServiceType { - UNKNOWN = 0; - FBPAY = 1; - NOVI = 2; - UPI = 3; - } - optional ServiceType serviceType = 1; - optional int64 expiryTimestamp = 2; -} - -message OrderMessage { - enum OrderSurface { - CATALOG = 1; - } - enum OrderStatus { - INQUIRY = 1; - } - optional string orderId = 1; - optional bytes thumbnail = 2; - optional int32 itemCount = 3; - optional OrderStatus status = 4; - optional OrderSurface surface = 5; - optional string message = 6; - optional string orderTitle = 7; - optional string sellerJid = 8; - optional string token = 9; - optional int64 totalAmount1000 = 10; - optional string totalCurrencyCode = 11; - optional ContextInfo contextInfo = 17; -} - -message LocationMessage { - optional double degreesLatitude = 1; - optional double degreesLongitude = 2; - optional string name = 3; - optional string address = 4; - optional string url = 5; - optional bool isLive = 6; - optional uint32 accuracyInMeters = 7; - optional float speedInMps = 8; - optional uint32 degreesClockwiseFromMagneticNorth = 9; - optional string comment = 11; - optional bytes jpegThumbnail = 16; - optional ContextInfo contextInfo = 17; -} - message LiveLocationMessage { optional double degreesLatitude = 1; optional double degreesLongitude = 2; @@ -250,7 +195,12 @@ message InteractiveResponseMessage { } message Body { + enum Format { + DEFAULT = 0; + EXTENSIONS_1 = 1; + } optional string text = 1; + optional Format format = 2; } optional Body body = 1; @@ -293,6 +243,7 @@ message InteractiveMessage { ImageMessage imageMessage = 4; bytes jpegThumbnail = 6; VideoMessage videoMessage = 7; + LocationMessage locationMessage = 8; } } @@ -306,6 +257,11 @@ message InteractiveMessage { optional int32 messageVersion = 3; } + message CarouselMessage { + repeated InteractiveMessage cards = 1; + optional int32 messageVersion = 2; + } + message Body { optional string text = 1; } @@ -318,6 +274,7 @@ message InteractiveMessage { ShopMessage shopStorefrontMessage = 4; CollectionMessage collectionMessage = 5; NativeFlowMessage nativeFlowMessage = 6; + CarouselMessage carouselMessage = 7; } } @@ -374,6 +331,8 @@ message HistorySyncNotification { optional string originalMessageId = 8; optional uint32 progress = 9; optional int64 oldestMsgInChunkTimestampSec = 10; + optional bytes initialHistBootstrapInlinePayload = 11; + optional string peerDataRequestSessionId = 12; } message HighlyStructuredMessage { @@ -466,13 +425,10 @@ message ExtendedTextMessage { DEFAULT_SUB = 3; } enum FontType { - SANS_SERIF = 0; - SERIF = 1; - NORICAN_REGULAR = 2; - BRYNDAN_WRITE = 3; - BEBASNEUE_REGULAR = 4; - OSWALD_HEAVY = 5; - DAMION_REGULAR = 6; + SYSTEM = 0; + SYSTEM_TEXT = 1; + FB_SCRIPT = 2; + SYSTEM_BOLD = 6; MORNINGBREEZE_REGULAR = 7; CALISTOGA_REGULAR = 8; EXO2_EXTRABOLD = 9; @@ -510,6 +466,12 @@ message EncReactionMessage { optional bytes encIv = 3; } +message EncCommentMessage { + optional MessageKey targetMessageKey = 1; + optional bytes encPayload = 2; + optional bytes encIv = 3; +} + message DocumentMessage { optional string url = 1; optional string mimetype = 2; @@ -629,6 +591,21 @@ message ButtonsMessage { } } +message BotFeedbackMessage { + enum BotFeedbackKind { + BOT_FEEDBACK_POSITIVE = 0; + BOT_FEEDBACK_NEGATIVE_GENERIC = 1; + BOT_FEEDBACK_NEGATIVE_HELPFUL = 2; + BOT_FEEDBACK_NEGATIVE_INTERESTING = 3; + BOT_FEEDBACK_NEGATIVE_ACCURATE = 4; + BOT_FEEDBACK_NEGATIVE_SAFE = 5; + BOT_FEEDBACK_NEGATIVE_OTHER = 6; + } + optional MessageKey messageKey = 1; + optional BotFeedbackKind kind = 2; + optional string text = 3; +} + message AudioMessage { optional string url = 1; optional string mimetype = 2; @@ -729,12 +706,20 @@ message GroupMention { } message DisappearingMode { + enum Trigger { + UNKNOWN = 0; + CHAT_SETTING = 1; + ACCOUNT_SETTING = 2; + BULK_CHANGE = 3; + } enum Initiator { CHANGED_IN_CHAT = 0; INITIATED_BY_ME = 1; INITIATED_BY_OTHER = 2; } optional Initiator initiator = 1; + optional Trigger trigger = 2; + optional string initiatorDeviceJid = 3; } message DeviceListMetadata { @@ -752,6 +737,12 @@ message ContextInfo { optional string utmCampaign = 2; } + message ForwardedNewsletterMessageInfo { + optional string newsletterJid = 1; + optional int32 serverMessageId = 2; + optional string newsletterName = 3; + } + message ExternalAdReplyInfo { enum MediaType { NONE = 0; @@ -771,6 +762,11 @@ message ContextInfo { optional bool renderLargerThumbnail = 11; optional bool showAdAttribution = 12; optional string ctwaClid = 13; + optional string ref = 14; + } + + message BusinessMessageForwardInfo { + optional string businessOwnerJid = 1; } message AdReplyInfo { @@ -813,6 +809,27 @@ message ContextInfo { optional bool isSampled = 39; repeated GroupMention groupMentions = 40; optional UTMInfo utm = 41; + optional ForwardedNewsletterMessageInfo forwardedNewsletterMessageInfo = 43; + optional BusinessMessageForwardInfo businessMessageForwardInfo = 44; + optional string smbClientCampaignId = 45; +} + +message BotPluginMetadata { + optional bool isPlaceholder = 1; +} + +message BotMetadata { + optional BotAvatarMetadata avatarMetadata = 1; + optional string personaId = 2; + optional BotPluginMetadata pluginMetadata = 3; +} + +message BotAvatarMetadata { + optional uint32 sentiment = 1; + optional string behaviorGraph = 2; + optional uint32 action = 3; + optional uint32 intensity = 4; + optional uint32 wordCount = 5; } message ActionLink { @@ -935,10 +952,18 @@ message Message { optional PollCreationMessage pollCreationMessageV2 = 60; optional ScheduledCallCreationMessage scheduledCallCreationMessage = 61; optional FutureProofMessage groupMentionedMessage = 62; - optional PinMessage pinMessage = 63; + optional PinInChatMessage pinInChatMessage = 63; optional PollCreationMessage pollCreationMessageV3 = 64; optional ScheduledCallEditMessage scheduledCallEditMessage = 65; optional VideoMessage ptvMessage = 66; + optional FutureProofMessage botInvokeMessage = 67; + optional EncCommentMessage encCommentMessage = 68; +} + +message MessageSecretMessage { + optional sfixed32 version = 1; + optional bytes encIv = 2; + optional bytes encPayload = 3; } message MessageContextInfo { @@ -946,6 +971,9 @@ message MessageContextInfo { optional int32 deviceListMetadataVersion = 2; optional bytes messageSecret = 3; optional bytes paddingBytes = 4; + optional uint32 messageAddOnDurationInSecs = 5; + optional bytes botMessageSecret = 6; + optional BotMetadata botMetadata = 7; } message VideoMessage { @@ -1048,6 +1076,7 @@ message StickerMessage { optional ContextInfo contextInfo = 17; optional int64 stickerSentTs = 18; optional bool isAvatar = 19; + optional bool isAiSticker = 20; } message SenderKeyDistributionMessage { @@ -1117,6 +1146,8 @@ message ProtocolMessage { MESSAGE_EDIT = 14; PEER_DATA_OPERATION_REQUEST_MESSAGE = 16; PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE = 17; + REQUEST_WELCOME_MESSAGE = 18; + BOT_FEEDBACK_MESSAGE = 19; } optional MessageKey key = 1; optional Type type = 2; @@ -1132,6 +1163,7 @@ message ProtocolMessage { optional int64 timestampMs = 15; optional PeerDataOperationRequestMessage peerDataOperationRequestMessage = 16; optional PeerDataOperationRequestResponseMessage peerDataOperationRequestResponseMessage = 17; + optional BotFeedbackMessage botFeedbackMessage = 18; } message ProductMessage { @@ -1194,14 +1226,14 @@ message PollCreationMessage { optional ContextInfo contextInfo = 5; } -message PinMessage { - enum PinMessageType { - UNKNOWN_PIN_MESSAGE_TYPE = 0; +message PinInChatMessage { + enum Type { + UNKNOWN_TYPE = 0; PIN_FOR_ALL = 1; UNPIN_FOR_ALL = 2; } optional MessageKey key = 1; - optional PinMessageType pinMessageType = 2; + optional Type type = 2; optional int64 senderTimestampMs = 3; } @@ -1210,10 +1242,25 @@ enum PeerDataOperationRequestType { SEND_RECENT_STICKER_BOOTSTRAP = 1; GENERATE_LINK_PREVIEW = 2; HISTORY_SYNC_ON_DEMAND = 3; + PLACEHOLDER_MESSAGE_RESEND = 4; } message PeerDataOperationRequestResponseMessage { message PeerDataOperationResult { + message PlaceholderMessageResendResponse { + optional bytes webMessageInfoBytes = 1; + } + message LinkPreviewResponse { + message LinkPreviewHighQualityThumbnail { + optional string directPath = 1; + optional string thumbHash = 2; + optional string encThumbHash = 3; + optional bytes mediaKey = 4; + optional int64 mediaKeyTimestampMs = 5; + optional int32 thumbWidth = 6; + optional int32 thumbHeight = 7; + } + optional string url = 1; optional string title = 2; optional string description = 3; @@ -1221,11 +1268,13 @@ message PeerDataOperationRequestResponseMessage { optional string canonicalUrl = 5; optional string matchText = 6; optional string previewType = 7; + optional LinkPreviewHighQualityThumbnail hqThumbnail = 8; } optional MediaRetryNotification.ResultType mediaUploadResult = 1; optional StickerMessage stickerMessage = 2; optional LinkPreviewResponse linkPreviewResponse = 3; + optional PlaceholderMessageResendResponse placeholderMessageResendResponse = 4; } optional PeerDataOperationRequestType peerDataOperationRequestType = 1; @@ -1233,6 +1282,82 @@ message PeerDataOperationRequestResponseMessage { repeated PeerDataOperationResult peerDataOperationResult = 3; } +message PeerDataOperationRequestMessage { + message RequestUrlPreview { + optional string url = 1; + optional bool includeHqThumbnail = 2; + } + + message RequestStickerReupload { + optional string fileSha256 = 1; + } + + message PlaceholderMessageResendRequest { + optional MessageKey messageKey = 1; + } + + message HistorySyncOnDemandRequest { + optional string chatJid = 1; + optional string oldestMsgId = 2; + optional bool oldestMsgFromMe = 3; + optional int32 onDemandMsgCount = 4; + optional int64 oldestMsgTimestampMs = 5; + } + + optional PeerDataOperationRequestType peerDataOperationRequestType = 1; + repeated RequestStickerReupload requestStickerReupload = 2; + repeated RequestUrlPreview requestUrlPreview = 3; + optional HistorySyncOnDemandRequest historySyncOnDemandRequest = 4; + repeated PlaceholderMessageResendRequest placeholderMessageResendRequest = 5; +} + +message PaymentInviteMessage { + enum ServiceType { + UNKNOWN = 0; + FBPAY = 1; + NOVI = 2; + UPI = 3; + } + optional ServiceType serviceType = 1; + optional int64 expiryTimestamp = 2; +} + +message OrderMessage { + enum OrderSurface { + CATALOG = 1; + } + enum OrderStatus { + INQUIRY = 1; + } + optional string orderId = 1; + optional bytes thumbnail = 2; + optional int32 itemCount = 3; + optional OrderStatus status = 4; + optional OrderSurface surface = 5; + optional string message = 6; + optional string orderTitle = 7; + optional string sellerJid = 8; + optional string token = 9; + optional int64 totalAmount1000 = 10; + optional string totalCurrencyCode = 11; + optional ContextInfo contextInfo = 17; +} + +message LocationMessage { + optional double degreesLatitude = 1; + optional double degreesLongitude = 2; + optional string name = 3; + optional string address = 4; + optional string url = 5; + optional bool isLive = 6; + optional uint32 accuracyInMeters = 7; + optional float speedInMps = 8; + optional uint32 degreesClockwiseFromMagneticNorth = 9; + optional string comment = 11; + optional bytes jpegThumbnail = 16; + optional ContextInfo contextInfo = 17; +} + message EphemeralSetting { optional sfixed32 duration = 1; optional sfixed64 timestamp = 2; @@ -1277,6 +1402,15 @@ message PastParticipant { optional uint64 leaveTs = 3; } +message NotificationSettings { + optional string messageVibrate = 1; + optional string messagePopup = 2; + optional string messageLight = 3; + optional bool lowPriorityNotifications = 4; + optional bool reactionsMuted = 5; + optional string callVibrate = 6; +} + enum MediaVisibility { DEFAULT = 0; OFF = 1; @@ -1332,12 +1466,20 @@ message GlobalSettings { optional int32 disappearingModeDuration = 9; optional int64 disappearingModeTimestamp = 10; optional AvatarUserSettings avatarUserSettings = 11; + optional int32 fontSize = 12; + optional bool securityNotifications = 13; + optional bool autoUnarchiveChats = 14; + optional int32 videoQualityMode = 15; + optional int32 photoQualityMode = 16; + optional NotificationSettings individualNotificationSettings = 17; + optional NotificationSettings groupNotificationSettings = 18; } message Conversation { enum EndOfHistoryTransferType { COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY = 0; COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY = 1; + COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY = 2; } required string id = 1; repeated HistorySyncMsg messages = 2; @@ -1395,50 +1537,6 @@ message AutoDownloadSettings { optional bool downloadDocuments = 4; } -// Duplicate type omitted -//message PollEncValue { -// optional bytes encPayload = 1; -// optional bytes encIv = 2; -//} - -message MsgRowOpaqueData { - optional MsgOpaqueData currentMsg = 1; - optional MsgOpaqueData quotedMsg = 2; -} - -message MsgOpaqueData { - message PollOption { - optional string name = 1; - } - - optional string body = 1; - optional string caption = 3; - optional double lng = 5; - optional bool isLive = 6; - optional double lat = 7; - optional int32 paymentAmount1000 = 8; - optional string paymentNoteMsgBody = 9; - optional string canonicalUrl = 10; - optional string matchedText = 11; - optional string title = 12; - optional string description = 13; - optional bytes futureproofBuffer = 14; - optional string clientUrl = 15; - optional string loc = 16; - optional string pollName = 17; - repeated PollOption pollOptions = 18; - optional uint32 pollSelectableOptionsCount = 20; - optional bytes messageSecret = 21; - optional string originalSelfAuthor = 51; - optional int64 senderTimestampMs = 22; - optional string pollUpdateParentKey = 23; - optional PollEncValue encPollVote = 24; - optional bool isSentCagPollCreation = 28; - optional string encReactionTargetMessageKey = 25; - optional bytes encReactionEncPayload = 26; - optional bytes encReactionEncIv = 27; -} - message ServerErrorReceipt { optional string stanzaId = 1; } @@ -1570,6 +1668,10 @@ message SyncActionValue { optional ChatAssignmentAction chatAssignment = 35; optional ChatAssignmentOpenedStatusAction chatAssignmentOpenedStatus = 36; optional PnForLidChatAction pnForLidChatAction = 37; + optional MarketingMessageAction marketingMessageAction = 38; + optional MarketingMessageBroadcastAction marketingMessageBroadcastAction = 39; + optional ExternalWebBetaAction externalWebBetaAction = 40; + optional PrivacySettingRelayAllCalls privacySettingRelayAllCalls = 41; } message UserStatusMuteAction { @@ -1642,6 +1744,10 @@ message PushNameSetting { optional string name = 1; } +message PrivacySettingRelayAllCalls { + optional bool isEnabled = 1; +} + message PrimaryVersionAction { optional string version = 1; } @@ -1668,6 +1774,23 @@ message MuteAction { optional bool autoMuted = 3; } +message MarketingMessageBroadcastAction { + optional int32 repliedCount = 1; +} + +message MarketingMessageAction { + enum MarketingMessagePrototypeType { + PERSONALIZED = 0; + } + optional string name = 1; + optional string message = 2; + optional MarketingMessagePrototypeType type = 3; + optional int64 createdAt = 4; + optional int64 lastSentAt = 5; + optional bool isDeleted = 6; + optional string mediaId = 7; +} + message MarkChatAsReadAction { optional bool read = 1; optional SyncActionMessageRange messageRange = 2; @@ -1692,6 +1815,10 @@ message KeyExpiration { optional int32 expiredKeyEpoch = 1; } +message ExternalWebBetaAction { + optional bool isOptIn = 1; +} + message DeleteMessageForMeAction { optional bool deleteMedia = 1; optional int64 messageTimestamp = 2; @@ -1903,6 +2030,14 @@ message ClientPayload { ARDEVICE = 30; VRDEVICE = 31; BLUE_WEB = 32; + IPAD = 33; + } + enum DeviceType { + PHONE = 0; + TABLET = 1; + DESKTOP = 2; + WEARABLE = 3; + VR = 4; } message AppVersion { optional uint32 primary = 1; @@ -1925,12 +2060,21 @@ message ClientPayload { optional string localeLanguageIso6391 = 11; optional string localeCountryIso31661Alpha2 = 12; optional string deviceBoard = 13; + optional string deviceExpId = 14; + optional DeviceType deviceType = 15; } enum Product { WHATSAPP = 0; MESSENGER = 1; + INTEROP = 2; + } + message InteropData { + optional uint64 accountId = 1; + optional uint32 integratorId = 2; + optional bytes token = 3; } + enum IOSAppExtension { SHARE_EXTENSION = 0; SERVICE_EXTENSION = 1; @@ -1983,6 +2127,7 @@ message ClientPayload { ERROR_RECONNECT = 3; NETWORK_SWITCH = 4; PING_RECONNECT = 5; + UNKNOWN = 6; } optional uint64 username = 1; optional bool passive = 3; @@ -2010,6 +2155,7 @@ message ClientPayload { optional bytes paddingBytes = 34; optional int32 yearClass = 36; optional int32 memClass = 37; + optional InteropData interopData = 38; } message WebNotificationsInfo { @@ -2183,6 +2329,30 @@ message WebMessageInfo { CAG_INVITE_AUTO_ADD = 159; BIZ_CHAT_ASSIGNMENT_UNASSIGN = 160; CAG_INVITE_AUTO_JOINED = 161; + SCHEDULED_CALL_START_MESSAGE = 162; + COMMUNITY_INVITE_RICH = 163; + COMMUNITY_INVITE_AUTO_ADD_RICH = 164; + SUB_GROUP_INVITE_RICH = 165; + SUB_GROUP_PARTICIPANT_ADD_RICH = 166; + COMMUNITY_LINK_PARENT_GROUP_RICH = 167; + COMMUNITY_PARTICIPANT_ADD_RICH = 168; + SILENCED_UNKNOWN_CALLER_AUDIO = 169; + SILENCED_UNKNOWN_CALLER_VIDEO = 170; + GROUP_MEMBER_ADD_MODE = 171; + GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD = 172; + COMMUNITY_CHANGE_DESCRIPTION = 173; + SENDER_INVITE = 174; + RECEIVER_INVITE = 175; + COMMUNITY_ALLOW_MEMBER_ADDED_GROUPS = 176; + PINNED_MESSAGE_IN_CHAT = 177; + PAYMENT_INVITE_SETUP_INVITER = 178; + PAYMENT_INVITE_SETUP_INVITEE_RECEIVE_ONLY = 179; + PAYMENT_INVITE_SETUP_INVITEE_SEND_AND_RECEIVE = 180; + LINKED_GROUP_CALL_START = 181; + REPORT_TO_ADMIN_ENABLED_STATUS = 182; + EMPTY_SUBGROUP_CREATE = 183; + SCHEDULED_CALL_CANCEL = 184; + SUBGROUP_ADMIN_TRIGGERED_AUTO_ADD_RICH = 185; } enum Status { ERROR = 0; @@ -2241,6 +2411,7 @@ message WebMessageInfo { optional KeepInChat keepInChat = 50; optional string originalSelfAuthorUserJidString = 51; optional uint64 revokeMessageTimestamp = 52; + optional PinInChat pinInChat = 54; } message WebFeatures { @@ -2331,6 +2502,19 @@ message PollAdditionalMetadata { optional bool pollInvalidated = 1; } +message PinInChat { + enum Type { + UNKNOWN_TYPE = 0; + PIN_FOR_ALL = 1; + UNPIN_FOR_ALL = 2; + } + optional Type type = 1; + optional MessageKey key = 2; + optional int64 senderTimestampMs = 3; + optional int64 serverTimestampMs = 4; + optional MessageAddOnContextInfo messageAddOnContextInfo = 5; +} + message PhotoChange { optional bytes oldPhoto = 1; optional bytes newPhoto = 2; @@ -2412,6 +2596,10 @@ message NotificationMessageInfo { optional string participant = 4; } +message MessageAddOnContextInfo { + optional uint32 messageAddOnDurationInSecs = 1; +} + message MediaData { optional string localPath = 1; } |