From 1e567277f50f03fe2aaf5cf888ba94bdc01c97e3 Mon Sep 17 00:00:00 2001 From: Domenico Iezzi Date: Mon, 27 Nov 2017 17:40:10 +0100 Subject: [PATCH] Initial userProfile implementation --- googleplay.proto | 12 ++ gpapi/googleplay.py | 16 ++ gpapi/googleplay_pb2.py | 459 +++++++++++++++++++++++++++++++++------- 3 files changed, 411 insertions(+), 76 deletions(-) diff --git a/googleplay.proto b/googleplay.proto index e4861ba..5a1585b 100644 --- a/googleplay.proto +++ b/googleplay.proto @@ -926,6 +926,18 @@ message SearchResponse { repeated RelatedSearch relatedSearch = 6; optional string nextPageUrl = 10; } +message UserProfileResponseWrapper { + optional UserProfilePayload payload = 1; + optional ServerCommands commands = 2; + repeated PreFetch preFetch = 3; + repeated Notification notification = 4; +} +message UserProfilePayload { + optional UserProfileResponse response = 5; +} +message UserProfileResponse { + repeated DocV2 doc = 1; +} message SearchSuggestResponse { repeated SearchSuggestEntry entry = 1; } diff --git a/gpapi/googleplay.py b/gpapi/googleplay.py index 8570ff5..6182d56 100644 --- a/gpapi/googleplay.py +++ b/gpapi/googleplay.py @@ -328,6 +328,22 @@ class GooglePlayAPI(object): return output + def userProfile(self): + path = 'api/userProfile' + headers = self.getDefaultHeaders() + + url = self.FDFE + path + response = requests.get(url, headers=headers, + verify=ssl_verify, + timeout=60) + + message = googleplay_pb2.UserProfileResponseWrapper.FromString(response.content) + if message.commands.displayErrorMessage != "": + raise RequestError(message.commands.displayErrorMessage) + + result = utils.fromDocToDictionary(message.payload.response.doc[0]) + return result + def details(self, packageName): """Get app details from a package name. diff --git a/gpapi/googleplay_pb2.py b/gpapi/googleplay_pb2.py index a81f1fb..d6e4831 100644 --- a/gpapi/googleplay_pb2.py +++ b/gpapi/googleplay_pb2.py @@ -18,9 +18,9 @@ _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='googleplay.proto', package='', - serialized_pb=_b('\n\x10googleplay.proto\"\x8b\x03\n\x16\x41ndroidAppDeliveryData\x12\x14\n\x0c\x64ownloadSize\x18\x01 \x01(\x03\x12\x11\n\tsignature\x18\x02 \x01(\t\x12\x13\n\x0b\x64ownloadUrl\x18\x03 \x01(\t\x12(\n\x0e\x61\x64\x64itionalFile\x18\x04 \x03(\x0b\x32\x10.AppFileMetadata\x12\'\n\x12\x64ownloadAuthCookie\x18\x05 \x03(\x0b\x32\x0b.HttpCookie\x12\x15\n\rforwardLocked\x18\x06 \x01(\x08\x12\x15\n\rrefundTimeout\x18\x07 \x01(\x03\x12\x17\n\x0fserverInitiated\x18\x08 \x01(\x08\x12%\n\x1dpostInstallRefundWindowMillis\x18\t \x01(\x03\x12\x1c\n\x14immediateStartNeeded\x18\n \x01(\x08\x12\'\n\tpatchData\x18\x0b \x01(\x0b\x32\x14.AndroidAppPatchData\x12+\n\x10\x65ncryptionParams\x18\x0c \x01(\x0b\x32\x11.EncryptionParams\"\x85\x01\n\x13\x41ndroidAppPatchData\x12\x17\n\x0f\x62\x61seVersionCode\x18\x01 \x01(\x05\x12\x15\n\rbaseSignature\x18\x02 \x01(\t\x12\x13\n\x0b\x64ownloadUrl\x18\x03 \x01(\t\x12\x13\n\x0bpatchFormat\x18\x04 \x01(\x05\x12\x14\n\x0cmaxPatchSize\x18\x05 \x01(\x03\"[\n\x0f\x41ppFileMetadata\x12\x10\n\x08\x66ileType\x18\x01 \x01(\x05\x12\x13\n\x0bversionCode\x18\x02 \x01(\x05\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x13\n\x0b\x64ownloadUrl\x18\x04 \x01(\t\"K\n\x10\x45ncryptionParams\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x15\n\rencryptionKey\x18\x02 \x01(\t\x12\x0f\n\x07hmacKey\x18\x03 \x01(\t\")\n\nHttpCookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xad\x02\n\x07\x41\x64\x64ress\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x64\x64ressLine1\x18\x02 \x01(\t\x12\x14\n\x0c\x61\x64\x64ressLine2\x18\x03 \x01(\t\x12\x0c\n\x04\x63ity\x18\x04 \x01(\t\x12\r\n\x05state\x18\x05 \x01(\t\x12\x12\n\npostalCode\x18\x06 \x01(\t\x12\x15\n\rpostalCountry\x18\x07 \x01(\t\x12\x19\n\x11\x64\x65pendentLocality\x18\x08 \x01(\t\x12\x13\n\x0bsortingCode\x18\t \x01(\t\x12\x14\n\x0clanguageCode\x18\n \x01(\t\x12\x13\n\x0bphoneNumber\x18\x0b \x01(\t\x12\x11\n\tisReduced\x18\x0c \x01(\x08\x12\x11\n\tfirstName\x18\r \x01(\t\x12\x10\n\x08lastName\x18\x0e \x01(\t\x12\r\n\x05\x65mail\x18\x0f \x01(\t\"J\n\nBookAuthor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x17\n\x0f\x64\x65precatedQuery\x18\x02 \x01(\t\x12\x15\n\x05\x64ocid\x18\x03 \x01(\x0b\x32\x06.Docid\"\xc3\x03\n\x0b\x42ookDetails\x12\x1d\n\x07subject\x18\x03 \x03(\x0b\x32\x0c.BookSubject\x12\x11\n\tpublisher\x18\x04 \x01(\t\x12\x17\n\x0fpublicationDate\x18\x05 \x01(\t\x12\x0c\n\x04isbn\x18\x06 \x01(\t\x12\x15\n\rnumberOfPages\x18\x07 \x01(\x05\x12\x10\n\x08subtitle\x18\x08 \x01(\t\x12\x1b\n\x06\x61uthor\x18\t \x03(\x0b\x32\x0b.BookAuthor\x12\x11\n\treaderUrl\x18\n \x01(\t\x12\x17\n\x0f\x64ownloadEpubUrl\x18\x0b \x01(\t\x12\x16\n\x0e\x64ownloadPdfUrl\x18\x0c \x01(\t\x12\x17\n\x0f\x61\x63sEpubTokenUrl\x18\r \x01(\t\x12\x16\n\x0e\x61\x63sPdfTokenUrl\x18\x0e \x01(\t\x12\x15\n\repubAvailable\x18\x0f \x01(\x08\x12\x14\n\x0cpdfAvailable\x18\x10 \x01(\x08\x12\x16\n\x0e\x61\x62outTheAuthor\x18\x11 \x01(\t\x12+\n\nidentifier\x18\x12 \x03(\n2\x17.BookDetails.Identifier\x1a.\n\nIdentifier\x12\x0c\n\x04type\x18\x13 \x01(\x05\x12\x12\n\nidentifier\x18\x14 \x01(\t\"=\n\x0b\x42ookSubject\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05query\x18\x02 \x01(\t\x12\x11\n\tsubjectId\x18\x03 \x01(\t\"~\n\nBrowseLink\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07\x64\x61taUrl\x18\x03 \x01(\t\x12\x14\n\x04icon\x18\x05 \x01(\x0b\x32\x06.Image\x12;\n\x18unknownCategoryContainer\x18\x04 \x01(\x0b\x32\x19.UnknownCategoryContainer\"M\n\x18UnknownCategoryContainer\x12\x31\n\x13\x63\x61tegoryIdContainer\x18\x05 \x01(\x0b\x32\x14.CategoryIdContainer\")\n\x13\x43\x61tegoryIdContainer\x12\x12\n\ncategoryId\x18\x04 \x01(\t\"\xa6\x01\n\x0e\x42rowseResponse\x12\x13\n\x0b\x63ontentsUrl\x18\x01 \x01(\t\x12\x10\n\x08promoUrl\x18\x02 \x01(\t\x12\x1d\n\x08\x63\x61tegory\x18\x03 \x03(\x0b\x32\x0b.BrowseLink\x12\x1f\n\nbreadcrumb\x18\x04 \x03(\x0b\x32\x0b.BrowseLink\x12-\n\x11\x63\x61tegoryContainer\x18\t \x01(\x0b\x32\x12.CategoryContainer\"2\n\x11\x43\x61tegoryContainer\x12\x1d\n\x08\x63\x61tegory\x18\x04 \x03(\x0b\x32\x0b.BrowseLink\"\x8f\x02\n\x10\x41\x64\x64ressChallenge\x12\x1c\n\x14responseAddressParam\x18\x01 \x01(\t\x12\x1f\n\x17responseCheckboxesParam\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12\x17\n\x0f\x64\x65scriptionHtml\x18\x04 \x01(\t\x12\x1f\n\x08\x63heckbox\x18\x05 \x03(\x0b\x32\r.FormCheckbox\x12\x19\n\x07\x61\x64\x64ress\x18\x06 \x01(\x0b\x32\x08.Address\x12.\n\x0f\x65rrorInputField\x18\x07 \x03(\x0b\x32\x15.InputValidationError\x12\x11\n\terrorHtml\x18\x08 \x01(\t\x12\x15\n\rrequiredField\x18\t \x03(\x05\"\xef\x01\n\x17\x41uthenticationChallenge\x12\x1a\n\x12\x61uthenticationType\x18\x01 \x01(\x05\x12\'\n\x1fresponseAuthenticationTypeParam\x18\x02 \x01(\t\x12\x1f\n\x17responseRetryCountParam\x18\x03 \x01(\t\x12\x15\n\rpinHeaderText\x18\x04 \x01(\t\x12\x1e\n\x16pinDescriptionTextHtml\x18\x05 \x01(\t\x12\x16\n\x0egaiaHeaderText\x18\x06 \x01(\t\x12\x1f\n\x17gaiaDescriptionTextHtml\x18\x07 \x01(\t\"\x98\t\n\x0b\x42uyResponse\x12\x37\n\x10purchaseResponse\x18\x01 \x01(\x0b\x32\x1d.PurchaseNotificationResponse\x12/\n\x0c\x63heckoutinfo\x18\x02 \x01(\n2\x19.BuyResponse.CheckoutInfo\x12\x16\n\x0e\x63ontinueViaUrl\x18\x08 \x01(\t\x12\x19\n\x11purchaseStatusUrl\x18\t \x01(\t\x12\x19\n\x11\x63heckoutServiceId\x18\x0c \x01(\t\x12\x1d\n\x15\x63heckoutTokenRequired\x18\r \x01(\x08\x12\x17\n\x0f\x62\x61seCheckoutUrl\x18\x0e \x01(\t\x12\x17\n\x0ftosCheckboxHtml\x18% \x03(\t\x12\x1a\n\x12iabPermissionError\x18& \x01(\x05\x12\x37\n\x16purchaseStatusResponse\x18\' \x01(\x0b\x32\x17.PurchaseStatusResponse\x12\x16\n\x0epurchaseCookie\x18. \x01(\t\x12\x1d\n\tchallenge\x18\x31 \x01(\x0b\x32\n.Challenge\x12\x15\n\rdownloadToken\x18\x37 \x01(\t\x1a\xdc\x05\n\x0c\x43heckoutInfo\x12\x17\n\x04item\x18\x03 \x01(\x0b\x32\t.LineItem\x12\x1a\n\x07subItem\x18\x04 \x03(\x0b\x32\t.LineItem\x12@\n\x0e\x63heckoutoption\x18\x05 \x03(\n2(.BuyResponse.CheckoutInfo.CheckoutOption\x12\x1d\n\x15\x64\x65precatedCheckoutUrl\x18\n \x01(\t\x12\x18\n\x10\x61\x64\x64InstrumentUrl\x18\x0b \x01(\t\x12\x12\n\nfooterHtml\x18\x14 \x03(\t\x12 \n\x18\x65ligibleInstrumentFamily\x18\x1f \x03(\x05\x12\x14\n\x0c\x66ootnoteHtml\x18$ \x03(\t\x12\'\n\x12\x65ligibleInstrument\x18, \x03(\x0b\x32\x0b.Instrument\x1a\xa6\x03\n\x0e\x43heckoutOption\x12\x15\n\rformOfPayment\x18\x06 \x01(\t\x12\x1b\n\x13\x65ncodedAdjustedCart\x18\x07 \x01(\t\x12\x14\n\x0cinstrumentId\x18\x0f \x01(\t\x12\x17\n\x04item\x18\x10 \x03(\x0b\x32\t.LineItem\x12\x1a\n\x07subItem\x18\x11 \x03(\x0b\x32\t.LineItem\x12\x18\n\x05total\x18\x12 \x01(\x0b\x32\t.LineItem\x12\x12\n\nfooterHtml\x18\x13 \x03(\t\x12\x18\n\x10instrumentFamily\x18\x1d \x01(\x05\x12.\n&deprecatedInstrumentInapplicableReason\x18\x1e \x03(\x05\x12\x1a\n\x12selectedInstrument\x18 \x01(\x08\x12\x1a\n\x07summary\x18! \x01(\x0b\x32\t.LineItem\x12\x14\n\x0c\x66ootnoteHtml\x18# \x03(\t\x12\x1f\n\ninstrument\x18+ \x01(\x0b\x32\x0b.Instrument\x12\x16\n\x0epurchaseCookie\x18- \x01(\t\x12\x16\n\x0e\x64isabledReason\x18\x30 \x03(\t\"s\n\tChallenge\x12+\n\x10\x61\x64\x64ressChallenge\x18\x01 \x01(\x0b\x32\x11.AddressChallenge\x12\x39\n\x17\x61uthenticationChallenge\x18\x02 \x01(\x0b\x32\x18.AuthenticationChallenge\"F\n\x0c\x46ormCheckbox\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x0f\n\x07\x63hecked\x18\x02 \x01(\x08\x12\x10\n\x08required\x18\x03 \x01(\x08\"\\\n\x08LineItem\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x15\n\x05offer\x18\x03 \x01(\x0b\x32\x06.Offer\x12\x16\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x06.Money\"F\n\x05Money\x12\x0e\n\x06micros\x18\x01 \x01(\x03\x12\x14\n\x0c\x63urrencyCode\x18\x02 \x01(\t\x12\x17\n\x0f\x66ormattedAmount\x18\x03 \x01(\t\"\x80\x01\n\x1cPurchaseNotificationResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x1d\n\tdebugInfo\x18\x02 \x01(\x0b\x32\n.DebugInfo\x12\x1d\n\x15localizedErrorMessage\x18\x03 \x01(\t\x12\x12\n\npurchaseId\x18\x04 \x01(\t\"\xf9\x01\n\x16PurchaseStatusResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\tstatusMsg\x18\x02 \x01(\t\x12\x13\n\x0bstatusTitle\x18\x03 \x01(\t\x12\x14\n\x0c\x62riefMessage\x18\x04 \x01(\t\x12\x0f\n\x07infoUrl\x18\x05 \x01(\t\x12%\n\rlibraryUpdate\x18\x06 \x01(\x0b\x32\x0e.LibraryUpdate\x12\'\n\x12rejectedInstrument\x18\x07 \x01(\x0b\x32\x0b.Instrument\x12\x30\n\x0f\x61ppDeliveryData\x18\x08 \x01(\x0b\x32\x17.AndroidAppDeliveryData\"D\n\x10\x44\x65liveryResponse\x12\x30\n\x0f\x61ppDeliveryData\x18\x02 \x01(\x0b\x32\x17.AndroidAppDeliveryData\"<\n\x05\x44ocid\x12\x14\n\x0c\x62\x61\x63kendDocid\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x0f\n\x07\x62\x61\x63kend\x18\x03 \x01(\x05\">\n\x07Install\x12\x11\n\tandroidId\x18\x01 \x01(\x06\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12\x0f\n\x07\x62undled\x18\x03 \x01(\x08\"\x80\x03\n\x05Offer\x12\x0e\n\x06micros\x18\x01 \x01(\x03\x12\x14\n\x0c\x63urrencyCode\x18\x02 \x01(\t\x12\x17\n\x0f\x66ormattedAmount\x18\x03 \x01(\t\x12\x1e\n\x0e\x63onvertedPrice\x18\x04 \x03(\x0b\x32\x06.Offer\x12\x1c\n\x14\x63heckoutFlowRequired\x18\x05 \x01(\x08\x12\x17\n\x0f\x66ullPriceMicros\x18\x06 \x01(\x03\x12\x1b\n\x13\x66ormattedFullAmount\x18\x07 \x01(\t\x12\x11\n\tofferType\x18\x08 \x01(\x05\x12!\n\x0brentalTerms\x18\t \x01(\x0b\x32\x0c.RentalTerms\x12\x12\n\nonSaleDate\x18\n \x01(\x03\x12\x16\n\x0epromotionLabel\x18\x0b \x03(\t\x12-\n\x11subscriptionTerms\x18\x0c \x01(\x0b\x32\x12.SubscriptionTerms\x12\x15\n\rformattedName\x18\r \x01(\t\x12\x1c\n\x14\x66ormattedDescription\x18\x0e \x01(\t\"\xb1\x01\n\rOwnershipInfo\x12\x1f\n\x17initiationTimestampMsec\x18\x01 \x01(\x03\x12\x1f\n\x17validUntilTimestampMsec\x18\x02 \x01(\x03\x12\x14\n\x0c\x61utoRenewing\x18\x03 \x01(\x08\x12\"\n\x1arefundTimeoutTimestampMsec\x18\x04 \x01(\x03\x12$\n\x1cpostDeliveryRefundWindowMsec\x18\x05 \x01(\x03\"H\n\x0bRentalTerms\x12\x1a\n\x12grantPeriodSeconds\x18\x01 \x01(\x05\x12\x1d\n\x15\x61\x63tivatePeriodSeconds\x18\x02 \x01(\x05\"[\n\x11SubscriptionTerms\x12$\n\x0frecurringPeriod\x18\x01 \x01(\x0b\x32\x0b.TimePeriod\x12 \n\x0btrialPeriod\x18\x02 \x01(\x0b\x32\x0b.TimePeriod\")\n\nTimePeriod\x12\x0c\n\x04unit\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\"G\n\x12\x42illingAddressSpec\x12\x1a\n\x12\x62illingAddressType\x18\x01 \x01(\x05\x12\x15\n\rrequiredField\x18\x02 \x03(\x05\">\n\x19\x43\x61rrierBillingCredentials\x12\r\n\x05value\x18\x01 \x01(\t\x12\x12\n\nexpiration\x18\x02 \x01(\x03\"\xa9\x02\n\x18\x43\x61rrierBillingInstrument\x12\x15\n\rinstrumentKey\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63\x63ountType\x18\x02 \x01(\t\x12\x14\n\x0c\x63urrencyCode\x18\x03 \x01(\t\x12\x18\n\x10transactionLimit\x18\x04 \x01(\x03\x12\x1c\n\x14subscriberIdentifier\x18\x05 \x01(\t\x12\x39\n\x17\x65ncryptedSubscriberInfo\x18\x06 \x01(\x0b\x32\x18.EncryptedSubscriberInfo\x12/\n\x0b\x63redentials\x18\x07 \x01(\x0b\x32\x1a.CarrierBillingCredentials\x12\'\n\x12\x61\x63\x63\x65ptedCarrierTos\x18\x08 \x01(\x0b\x32\x0b.CarrierTos\"\xca\x01\n\x1e\x43\x61rrierBillingInstrumentStatus\x12\x1f\n\ncarrierTos\x18\x01 \x01(\x0b\x32\x0b.CarrierTos\x12\x1b\n\x13\x61ssociationRequired\x18\x02 \x01(\x08\x12\x18\n\x10passwordRequired\x18\x03 \x01(\x08\x12.\n\x15\x63\x61rrierPasswordPrompt\x18\x04 \x01(\x0b\x32\x0f.PasswordPrompt\x12\x12\n\napiVersion\x18\x05 \x01(\x05\x12\x0c\n\x04name\x18\x06 \x01(\t\"\x8e\x01\n\nCarrierTos\x12 \n\x06\x64\x63\x62Tos\x18\x01 \x01(\x0b\x32\x10.CarrierTosEntry\x12 \n\x06piiTos\x18\x02 \x01(\x0b\x32\x10.CarrierTosEntry\x12\x1d\n\x15needsDcbTosAcceptance\x18\x03 \x01(\x08\x12\x1d\n\x15needsPiiTosAcceptance\x18\x04 \x01(\x08\"/\n\x0f\x43\x61rrierTosEntry\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\"\xa2\x01\n\x14\x43reditCardInstrument\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x14\n\x0c\x65scrowHandle\x18\x02 \x01(\t\x12\x12\n\nlastDigits\x18\x03 \x01(\t\x12\x17\n\x0f\x65xpirationMonth\x18\x04 \x01(\x05\x12\x16\n\x0e\x65xpirationYear\x18\x05 \x01(\x05\x12!\n\x0e\x65scrowEfeParam\x18\x06 \x03(\x0b\x32\t.EfeParam\"&\n\x08\x45\x66\x65Param\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\t\"@\n\x14InputValidationError\x12\x12\n\ninputField\x18\x01 \x01(\x05\x12\x14\n\x0c\x65rrorMessage\x18\x02 \x01(\t\"\xc2\x02\n\nInstrument\x12\x14\n\x0cinstrumentId\x18\x01 \x01(\t\x12 \n\x0e\x62illingAddress\x18\x02 \x01(\x0b\x32\x08.Address\x12)\n\ncreditCard\x18\x03 \x01(\x0b\x32\x15.CreditCardInstrument\x12\x31\n\x0e\x63\x61rrierBilling\x18\x04 \x01(\x0b\x32\x19.CarrierBillingInstrument\x12/\n\x12\x62illingAddressSpec\x18\x05 \x01(\x0b\x32\x13.BillingAddressSpec\x12\x18\n\x10instrumentFamily\x18\x06 \x01(\x05\x12=\n\x14\x63\x61rrierBillingStatus\x18\x07 \x01(\x0b\x32\x1f.CarrierBillingInstrumentStatus\x12\x14\n\x0c\x64isplayTitle\x18\x08 \x01(\t\";\n\x0ePasswordPrompt\x12\x0e\n\x06prompt\x18\x01 \x01(\t\x12\x19\n\x11\x66orgotPasswordUrl\x18\x02 \x01(\t\"\x92\x01\n\x11\x43ontainerMetadata\x12\x11\n\tbrowseUrl\x18\x01 \x01(\t\x12\x13\n\x0bnextPageUrl\x18\x02 \x01(\t\x12\x11\n\trelevance\x18\x03 \x01(\x01\x12\x18\n\x10\x65stimatedResults\x18\x04 \x01(\x03\x12\x17\n\x0f\x61nalyticsCookie\x18\x05 \x01(\t\x12\x0f\n\x07ordered\x18\x06 \x01(\x08\"i\n\tDebugInfo\x12\x0f\n\x07message\x18\x01 \x03(\t\x12!\n\x06timing\x18\x02 \x03(\n2\x11.DebugInfo.Timing\x1a(\n\x06Timing\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x10\n\x08timeInMs\x18\x04 \x01(\x01\"\'\n\x10\x42ulkDetailsEntry\x12\x13\n\x03\x64oc\x18\x01 \x01(\x0b\x32\x06.DocV2\"=\n\x12\x42ulkDetailsRequest\x12\r\n\x05\x64ocid\x18\x01 \x03(\t\x12\x18\n\x10includeChildDocs\x18\x02 \x01(\x08\"7\n\x13\x42ulkDetailsResponse\x12 \n\x05\x65ntry\x18\x01 \x03(\x0b\x32\x11.BulkDetailsEntry\"\xa0\x01\n\x0f\x44\x65tailsResponse\x12\x15\n\x05\x64ocV1\x18\x01 \x01(\x0b\x32\x06.DocV1\x12\x17\n\x0f\x61nalyticsCookie\x18\x02 \x01(\t\x12\x1b\n\nuserReview\x18\x03 \x01(\x0b\x32\x07.Review\x12\x15\n\x05\x64ocV2\x18\x04 \x01(\x0b\x32\x06.DocV2\x12\x12\n\nfooterHtml\x18\x05 \x01(\t\x12\x15\n\x05\x62\x61\x64ge\x18\x07 \x03(\x0b\x32\x06.Badge\"\'\n\x05\x42\x61\x64ge\x12\r\n\x05label\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x0b \x01(\t\"\xb5\x03\n\x18\x44\x65viceConfigurationProto\x12\x13\n\x0btouchScreen\x18\x01 \x01(\x05\x12\x10\n\x08keyboard\x18\x02 \x01(\x05\x12\x12\n\nnavigation\x18\x03 \x01(\x05\x12\x14\n\x0cscreenLayout\x18\x04 \x01(\x05\x12\x17\n\x0fhasHardKeyboard\x18\x05 \x01(\x08\x12\x1c\n\x14hasFiveWayNavigation\x18\x06 \x01(\x08\x12\x15\n\rscreenDensity\x18\x07 \x01(\x05\x12\x13\n\x0bglEsVersion\x18\x08 \x01(\x05\x12\x1b\n\x13systemSharedLibrary\x18\t \x03(\t\x12\x1e\n\x16systemAvailableFeature\x18\n \x03(\t\x12\x16\n\x0enativePlatform\x18\x0b \x03(\t\x12\x13\n\x0bscreenWidth\x18\x0c \x01(\x05\x12\x14\n\x0cscreenHeight\x18\r \x01(\x05\x12\x1d\n\x15systemSupportedLocale\x18\x0e \x03(\t\x12\x13\n\x0bglExtension\x18\x0f \x03(\t\x12\x13\n\x0b\x64\x65viceClass\x18\x10 \x01(\x05\x12\x1c\n\x14maxApkDownloadSizeMb\x18\x11 \x01(\x05\"\xff\x03\n\x08\x44ocument\x12\x15\n\x05\x64ocid\x18\x01 \x01(\x0b\x32\x06.Docid\x12\x1a\n\nfetchDocid\x18\x02 \x01(\x0b\x32\x06.Docid\x12\x1b\n\x0bsampleDocid\x18\x03 \x01(\x0b\x32\x06.Docid\x12\r\n\x05title\x18\x04 \x01(\t\x12\x0b\n\x03url\x18\x05 \x01(\t\x12\x0f\n\x07snippet\x18\x06 \x03(\t\x12\x1f\n\x0fpriceDeprecated\x18\x07 \x01(\x0b\x32\x06.Offer\x12#\n\x0c\x61vailability\x18\t \x01(\x0b\x32\r.Availability\x12\x15\n\x05image\x18\n \x03(\x0b\x32\x06.Image\x12\x18\n\x05\x63hild\x18\x0b \x03(\x0b\x32\t.Document\x12)\n\x0f\x61ggregateRating\x18\r \x01(\x0b\x32\x10.AggregateRating\x12\x15\n\x05offer\x18\x0e \x03(\x0b\x32\x06.Offer\x12*\n\x11translatedSnippet\x18\x0f \x03(\x0b\x32\x0f.TranslatedText\x12)\n\x0f\x64ocumentVariant\x18\x10 \x03(\x0b\x32\x10.DocumentVariant\x12\x12\n\ncategoryId\x18\x11 \x03(\t\x12\x1d\n\ndecoration\x18\x12 \x03(\x0b\x32\t.Document\x12\x19\n\x06parent\x18\x13 \x03(\x0b\x32\t.Document\x12\x18\n\x10privacyPolicyUrl\x18\x14 \x01(\t\"\x81\x02\n\x0f\x44ocumentVariant\x12\x15\n\rvariationType\x18\x01 \x01(\x05\x12\x13\n\x04rule\x18\x02 \x01(\x0b\x32\x05.Rule\x12\r\n\x05title\x18\x03 \x01(\t\x12\x0f\n\x07snippet\x18\x04 \x03(\t\x12\x15\n\rrecentChanges\x18\x05 \x01(\t\x12(\n\x0f\x61utoTranslation\x18\x06 \x03(\x0b\x32\x0f.TranslatedText\x12\x15\n\x05offer\x18\x07 \x03(\x0b\x32\x06.Offer\x12\x11\n\tchannelId\x18\t \x01(\x03\x12\x18\n\x05\x63hild\x18\n \x03(\x0b\x32\t.Document\x12\x1d\n\ndecoration\x18\x0b \x03(\x0b\x32\t.Document\"\xc9\x02\n\x05Image\x12\x11\n\timageType\x18\x01 \x01(\x05\x12#\n\tdimension\x18\x02 \x01(\n2\x10.Image.Dimension\x12\x10\n\x08imageUrl\x18\x05 \x01(\t\x12\x18\n\x10\x61ltTextLocalized\x18\x06 \x01(\t\x12\x11\n\tsecureUrl\x18\x07 \x01(\t\x12\x1a\n\x12positionInSequence\x18\x08 \x01(\x05\x12\x1e\n\x16supportsFifeUrlOptions\x18\t \x01(\x08\x12!\n\x08\x63itation\x18\n \x01(\n2\x0f.Image.Citation\x12\r\n\x05\x63olor\x18\x0f \x01(\t\x1a*\n\tDimension\x12\r\n\x05width\x18\x03 \x01(\x05\x12\x0e\n\x06height\x18\x04 \x01(\x05\x1a/\n\x08\x43itation\x12\x16\n\x0etitleLocalized\x18\x0b \x01(\t\x12\x0b\n\x03url\x18\x0c \x01(\t\"J\n\x0eTranslatedText\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x14\n\x0csourceLocale\x18\x02 \x01(\t\x12\x14\n\x0ctargetLocale\x18\x03 \x01(\t\"i\n\x0bPlusOneData\x12\x11\n\tsetByUser\x18\x01 \x01(\x08\x12\r\n\x05total\x18\x02 \x01(\x03\x12\x14\n\x0c\x63irclesTotal\x18\x03 \x01(\x03\x12\"\n\rcirclesPeople\x18\x04 \x03(\x0b\x32\x0b.PlusPerson\":\n\nPlusPerson\x12\x13\n\x0b\x64isplayName\x18\x02 \x01(\t\x12\x17\n\x0fprofileImageUrl\x18\x04 \x01(\t\"c\n\x0c\x41lbumDetails\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1e\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32\r.MusicDetails\x12%\n\rdisplayArtist\x18\x03 \x01(\x0b\x32\x0e.ArtistDetails\"\xb6\x04\n\nAppDetails\x12\x15\n\rdeveloperName\x18\x01 \x01(\t\x12\x1a\n\x12majorVersionNumber\x18\x02 \x01(\x05\x12\x13\n\x0bversionCode\x18\x03 \x01(\x05\x12\x15\n\rversionString\x18\x04 \x01(\t\x12\r\n\x05title\x18\x05 \x01(\t\x12\x13\n\x0b\x61ppCategory\x18\x07 \x03(\t\x12\x15\n\rcontentRating\x18\x08 \x01(\x05\x12\x18\n\x10installationSize\x18\t \x01(\x03\x12\x12\n\npermission\x18\n \x03(\t\x12\x16\n\x0e\x64\x65veloperEmail\x18\x0b \x01(\t\x12\x18\n\x10\x64\x65veloperWebsite\x18\x0c \x01(\t\x12\x14\n\x0cnumDownloads\x18\r \x01(\t\x12\x13\n\x0bpackageName\x18\x0e \x01(\t\x12\x19\n\x11recentChangesHtml\x18\x0f \x01(\t\x12\x12\n\nuploadDate\x18\x10 \x01(\t\x12\x1b\n\x04\x66ile\x18\x11 \x03(\x0b\x32\r.FileMetadata\x12\x0f\n\x07\x61ppType\x18\x12 \x01(\t\x12\x10\n\x08unstable\x18\x15 \x01(\x08\x12\x13\n\x0b\x63ontainsAds\x18\x1e \x01(\t\x12#\n\x0c\x64\x65pendencies\x18\" \x01(\x0b\x32\r.Dependencies\x12/\n\x12testingProgramInfo\x18# \x01(\x0b\x32\x13.TestingProgramInfo\x12)\n\x0f\x65\x61rlyAccessInfo\x18$ \x01(\x0b\x32\x10.EarlyAccessInfo\"e\n\x0c\x44\x65pendencies\x12\x10\n\x08unknown1\x18\x01 \x01(\x05\x12\x10\n\x08unknown2\x18\x02 \x01(\x03\x12\x1f\n\ndependency\x18\x03 \x03(\x0b\x32\x0b.Dependency\x12\x10\n\x08unknown3\x18\x04 \x01(\x05\"D\n\nDependency\x12\x13\n\x0bpackageName\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12\x10\n\x08unknown4\x18\x04 \x01(\x05\"Z\n\x12TestingProgramInfo\x12\x12\n\nsubscribed\x18\x02 \x01(\x08\x12\x13\n\x0bsubscribed1\x18\x03 \x01(\x08\x12\x1b\n\x13testingProgramEmail\x18\x05 \x01(\t\" \n\x0f\x45\x61rlyAccessInfo\x12\r\n\x05\x65mail\x18\x03 \x01(\t\"^\n\rArtistDetails\x12\x12\n\ndetailsUrl\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\rexternalLinks\x18\x03 \x01(\x0b\x32\x14.ArtistExternalLinks\"b\n\x13\x41rtistExternalLinks\x12\x12\n\nwebsiteUrl\x18\x01 \x03(\t\x12\x1c\n\x14googlePlusProfileUrl\x18\x02 \x01(\t\x12\x19\n\x11youtubeChannelUrl\x18\x03 \x01(\t\"\xc6\x03\n\x0f\x44ocumentDetails\x12\x1f\n\nappDetails\x18\x01 \x01(\x0b\x32\x0b.AppDetails\x12#\n\x0c\x61lbumDetails\x18\x02 \x01(\x0b\x32\r.AlbumDetails\x12%\n\rartistDetails\x18\x03 \x01(\x0b\x32\x0e.ArtistDetails\x12!\n\x0bsongDetails\x18\x04 \x01(\x0b\x32\x0c.SongDetails\x12!\n\x0b\x62ookDetails\x18\x05 \x01(\x0b\x32\x0c.BookDetails\x12#\n\x0cvideoDetails\x18\x06 \x01(\x0b\x32\r.VideoDetails\x12\x31\n\x13subscriptionDetails\x18\x07 \x01(\x0b\x32\x14.SubscriptionDetails\x12)\n\x0fmagazineDetails\x18\x08 \x01(\x0b\x32\x10.MagazineDetails\x12%\n\rtvShowDetails\x18\t \x01(\x0b\x32\x0e.TvShowDetails\x12)\n\x0ftvSeasonDetails\x18\n \x01(\x0b\x32\x10.TvSeasonDetails\x12+\n\x10tvEpisodeDetails\x18\x0b \x01(\x0b\x32\x11.TvEpisodeDetails\"C\n\x0c\x46ileMetadata\x12\x10\n\x08\x66ileType\x18\x01 \x01(\x05\x12\x13\n\x0bversionCode\x18\x02 \x01(\x05\x12\x0c\n\x04size\x18\x03 \x01(\x03\"\x94\x01\n\x0fMagazineDetails\x12\x18\n\x10parentDetailsUrl\x18\x01 \x01(\t\x12)\n!deviceAvailabilityDescriptionHtml\x18\x02 \x01(\t\x12\x16\n\x0epsvDescription\x18\x03 \x01(\t\x12$\n\x1c\x64\x65liveryFrequencyDescription\x18\x04 \x01(\t\"\xbb\x01\n\x0cMusicDetails\x12\x11\n\tcensoring\x18\x01 \x01(\x05\x12\x13\n\x0b\x64urationSec\x18\x02 \x01(\x05\x12\x1b\n\x13originalReleaseDate\x18\x03 \x01(\t\x12\r\n\x05label\x18\x04 \x01(\t\x12\x1e\n\x06\x61rtist\x18\x05 \x03(\x0b\x32\x0e.ArtistDetails\x12\r\n\x05genre\x18\x06 \x03(\t\x12\x13\n\x0breleaseDate\x18\x07 \x01(\t\x12\x13\n\x0breleaseType\x18\x08 \x03(\x05\"\x9e\x01\n\x0bSongDetails\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1e\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32\r.MusicDetails\x12\x11\n\talbumName\x18\x03 \x01(\t\x12\x13\n\x0btrackNumber\x18\x04 \x01(\x05\x12\x12\n\npreviewUrl\x18\x05 \x01(\t\x12%\n\rdisplayArtist\x18\x06 \x01(\x0b\x32\x0e.ArtistDetails\"1\n\x13SubscriptionDetails\x12\x1a\n\x12subscriptionPeriod\x18\x01 \x01(\x05\"e\n\x07Trailer\x12\x11\n\ttrailerId\x18\x01 \x01(\t\x12\r\n\x05title\x18\x02 \x01(\t\x12\x14\n\x0cthumbnailUrl\x18\x03 \x01(\t\x12\x10\n\x08watchUrl\x18\x04 \x01(\t\x12\x10\n\x08\x64uration\x18\x05 \x01(\t\"W\n\x10TvEpisodeDetails\x12\x18\n\x10parentDetailsUrl\x18\x01 \x01(\t\x12\x14\n\x0c\x65pisodeIndex\x18\x02 \x01(\x05\x12\x13\n\x0breleaseDate\x18\x03 \x01(\t\"j\n\x0fTvSeasonDetails\x12\x18\n\x10parentDetailsUrl\x18\x01 \x01(\t\x12\x13\n\x0bseasonIndex\x18\x02 \x01(\x05\x12\x13\n\x0breleaseDate\x18\x03 \x01(\t\x12\x13\n\x0b\x62roadcaster\x18\x04 \x01(\t\"]\n\rTvShowDetails\x12\x13\n\x0bseasonCount\x18\x01 \x01(\x05\x12\x11\n\tstartYear\x18\x02 \x01(\x05\x12\x0f\n\x07\x65ndYear\x18\x03 \x01(\x05\x12\x13\n\x0b\x62roadcaster\x18\x04 \x01(\t\"?\n\x0bVideoCredit\x12\x12\n\ncreditType\x18\x01 \x01(\x05\x12\x0e\n\x06\x63redit\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x03(\t\"\xdb\x01\n\x0cVideoDetails\x12\x1c\n\x06\x63redit\x18\x01 \x03(\x0b\x32\x0c.VideoCredit\x12\x10\n\x08\x64uration\x18\x02 \x01(\t\x12\x13\n\x0breleaseDate\x18\x03 \x01(\t\x12\x15\n\rcontentRating\x18\x04 \x01(\t\x12\r\n\x05likes\x18\x05 \x01(\x03\x12\x10\n\x08\x64islikes\x18\x06 \x01(\x03\x12\r\n\x05genre\x18\x07 \x03(\t\x12\x19\n\x07trailer\x18\x08 \x03(\x0b\x32\x08.Trailer\x12$\n\nrentalTerm\x18\t \x03(\x0b\x32\x10.VideoRentalTerm\"\xa0\x01\n\x0fVideoRentalTerm\x12\x11\n\tofferType\x18\x01 \x01(\x05\x12\x19\n\x11offerAbbreviation\x18\x02 \x01(\t\x12\x14\n\x0crentalHeader\x18\x03 \x01(\t\x12#\n\x04term\x18\x04 \x03(\n2\x15.VideoRentalTerm.Term\x1a$\n\x04Term\x12\x0e\n\x06header\x18\x05 \x01(\t\x12\x0c\n\x04\x62ody\x18\x06 \x01(\t\"\xf9\x01\n\x06\x42ucket\x12\x18\n\x08\x64ocument\x18\x01 \x03(\x0b\x32\x06.DocV1\x12\x13\n\x0bmultiCorpus\x18\x02 \x01(\x08\x12\r\n\x05title\x18\x03 \x01(\t\x12\x0f\n\x07iconUrl\x18\x04 \x01(\t\x12\x17\n\x0f\x66ullContentsUrl\x18\x05 \x01(\t\x12\x11\n\trelevance\x18\x06 \x01(\x01\x12\x18\n\x10\x65stimatedResults\x18\x07 \x01(\x03\x12\x17\n\x0f\x61nalyticsCookie\x18\x08 \x01(\t\x12\x1b\n\x13\x66ullContentsListUrl\x18\t \x01(\t\x12\x13\n\x0bnextPageUrl\x18\n \x01(\t\x12\x0f\n\x07ordered\x18\x0b \x01(\x08\"H\n\x0cListResponse\x12\x17\n\x06\x62ucket\x18\x01 \x03(\x0b\x32\x07.Bucket\x12\x1f\n\x07\x63luster\x18\x02 \x03(\x0b\x32\x0e.SearchCluster\"\x94\x03\n\x05\x44ocV1\x12\x1c\n\tfinskyDoc\x18\x01 \x01(\x0b\x32\t.Document\x12\r\n\x05\x64ocid\x18\x02 \x01(\t\x12\x12\n\ndetailsUrl\x18\x03 \x01(\t\x12\x12\n\nreviewsUrl\x18\x04 \x01(\t\x12\x16\n\x0erelatedListUrl\x18\x05 \x01(\t\x12\x15\n\rmoreByListUrl\x18\x06 \x01(\t\x12\x10\n\x08shareUrl\x18\x07 \x01(\t\x12\x0f\n\x07\x63reator\x18\x08 \x01(\t\x12!\n\x07\x64\x65tails\x18\t \x01(\x0b\x32\x10.DocumentDetails\x12\x17\n\x0f\x64\x65scriptionHtml\x18\n \x01(\t\x12\x18\n\x10relatedBrowseUrl\x18\x0b \x01(\t\x12\x17\n\x0fmoreByBrowseUrl\x18\x0c \x01(\t\x12\x15\n\rrelatedHeader\x18\r \x01(\t\x12\x14\n\x0cmoreByHeader\x18\x0e \x01(\t\x12\r\n\x05title\x18\x0f \x01(\t\x12!\n\x0bplusOneData\x18\x10 \x01(\x0b\x32\x0c.PlusOneData\x12\x16\n\x0ewarningMessage\x18\x11 \x01(\t\"\xc9\x04\n\x05\x44ocV2\x12\r\n\x05\x64ocid\x18\x01 \x01(\t\x12\x14\n\x0c\x62\x61\x63kendDocid\x18\x02 \x01(\t\x12\x0f\n\x07\x64ocType\x18\x03 \x01(\x05\x12\x11\n\tbackendId\x18\x04 \x01(\x05\x12\r\n\x05title\x18\x05 \x01(\t\x12\x0f\n\x07\x63reator\x18\x06 \x01(\t\x12\x17\n\x0f\x64\x65scriptionHtml\x18\x07 \x01(\t\x12\x15\n\x05offer\x18\x08 \x03(\x0b\x32\x06.Offer\x12#\n\x0c\x61vailability\x18\t \x01(\x0b\x32\r.Availability\x12\x15\n\x05image\x18\n \x03(\x0b\x32\x06.Image\x12\x15\n\x05\x63hild\x18\x0b \x03(\x0b\x32\x06.DocV2\x12-\n\x11\x63ontainerMetadata\x18\x0c \x01(\x0b\x32\x12.ContainerMetadata\x12!\n\x07\x64\x65tails\x18\r \x01(\x0b\x32\x10.DocumentDetails\x12)\n\x0f\x61ggregateRating\x18\x0e \x01(\x0b\x32\x10.AggregateRating\x12#\n\x0crelatedLinks\x18\x0f \x01(\x0b\x32\r.RelatedLinks\x12\x12\n\ndetailsUrl\x18\x10 \x01(\t\x12\x10\n\x08shareUrl\x18\x11 \x01(\t\x12\x12\n\nreviewsUrl\x18\x12 \x01(\t\x12\x12\n\nbackendUrl\x18\x13 \x01(\t\x12\x1a\n\x12purchaseDetailsUrl\x18\x14 \x01(\t\x12\x17\n\x0f\x64\x65tailsReusable\x18\x15 \x01(\x08\x12\x10\n\x08subtitle\x18\x16 \x01(\t\x12\x1d\n\tunknown25\x18\x19 \x01(\x0b\x32\n.Unknown25\")\n\tUnknown25\x12\x1c\n\x04item\x18\x02 \x03(\x0b\x32\x0e.Unknown25Item\"F\n\rUnknown25Item\x12\r\n\x05label\x18\x01 \x01(\t\x12&\n\tcontainer\x18\x03 \x01(\x0b\x32\x13.Unknown25Container\"#\n\x12Unknown25Container\x12\r\n\x05value\x18\x02 \x01(\t\"\xd9\x01\n\x0cRelatedLinks\x12\'\n\x08unknown1\x18\n \x01(\x0b\x32\x15.RelatedLinksUnknown1\x12\x18\n\x10privacyPolicyUrl\x18\x12 \x01(\t\x12&\n\x10youMightAlsoLike\x18\x18 \x01(\x0b\x32\x0c.RelatedLink\x12\x15\n\x05rated\x18\x1d \x01(\x0b\x32\x06.Rated\x12\"\n\x0crelatedLinks\x18\" \x03(\x0b\x32\x0c.RelatedLink\x12#\n\x0c\x63\x61tegoryInfo\x18\x35 \x01(\x0b\x32\r.CategoryInfo\"?\n\x14RelatedLinksUnknown1\x12\'\n\x08unknown2\x18\x02 \x01(\x0b\x32\x15.RelatedLinksUnknown2\"+\n\x14RelatedLinksUnknown2\x12\x13\n\x0bnextPageUrl\x18\x03 \x01(\t\"H\n\x05Rated\x12\r\n\x05label\x18\x01 \x01(\t\x12\x15\n\x05image\x18\x02 \x01(\x0b\x32\x06.Image\x12\x19\n\x11learnMoreHtmlLink\x18\x04 \x01(\t\"8\n\x0bRelatedLink\x12\r\n\x05label\x18\x01 \x01(\t\x12\x0c\n\x04url1\x18\x02 \x01(\t\x12\x0c\n\x04url2\x18\x03 \x01(\t\"4\n\x0c\x43\x61tegoryInfo\x12\x0f\n\x07\x61ppType\x18\x01 \x01(\t\x12\x13\n\x0b\x61ppCategory\x18\x02 \x01(\t\"\x99\x01\n\x17\x45ncryptedSubscriberInfo\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\t\x12\x14\n\x0c\x65ncryptedKey\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\x12\x12\n\ninitVector\x18\x04 \x01(\t\x12\x18\n\x10googleKeyVersion\x18\x05 \x01(\x05\x12\x19\n\x11\x63\x61rrierKeyVersion\x18\x06 \x01(\x05\"\xbd\x03\n\x0c\x41vailability\x12\x13\n\x0brestriction\x18\x05 \x01(\x05\x12\x11\n\tofferType\x18\x06 \x01(\x05\x12\x13\n\x04rule\x18\x07 \x01(\x0b\x32\x05.Rule\x12X\n perdeviceavailabilityrestriction\x18\t \x03(\n2..Availability.PerDeviceAvailabilityRestriction\x12\x18\n\x10\x61vailableIfOwned\x18\r \x01(\x08\x12\x19\n\x07install\x18\x0e \x03(\x0b\x32\x08.Install\x12)\n\nfilterInfo\x18\x10 \x01(\x0b\x32\x15.FilterEvaluationInfo\x12%\n\rownershipInfo\x18\x11 \x01(\x0b\x32\x0e.OwnershipInfo\x1a\x8e\x01\n PerDeviceAvailabilityRestriction\x12\x11\n\tandroidId\x18\n \x01(\x06\x12\x19\n\x11\x64\x65viceRestriction\x18\x0b \x01(\x05\x12\x11\n\tchannelId\x18\x0c \x01(\x03\x12)\n\nfilterInfo\x18\x0f \x01(\x0b\x32\x15.FilterEvaluationInfo\"?\n\x14\x46ilterEvaluationInfo\x12\'\n\x0eruleEvaluation\x18\x01 \x03(\x0b\x32\x0f.RuleEvaluation\"\xd4\x01\n\x04Rule\x12\x0e\n\x06negate\x18\x01 \x01(\x08\x12\x10\n\x08operator\x18\x02 \x01(\x05\x12\x0b\n\x03key\x18\x03 \x01(\x05\x12\x11\n\tstringArg\x18\x04 \x03(\t\x12\x0f\n\x07longArg\x18\x05 \x03(\x03\x12\x11\n\tdoubleArg\x18\x06 \x03(\x01\x12\x16\n\x07subrule\x18\x07 \x03(\x0b\x32\x05.Rule\x12\x14\n\x0cresponseCode\x18\x08 \x01(\x05\x12\x0f\n\x07\x63omment\x18\t \x01(\t\x12\x15\n\rstringArgHash\x18\n \x03(\x06\x12\x10\n\x08\x63onstArg\x18\x0b \x03(\x05\"\x8d\x01\n\x0eRuleEvaluation\x12\x13\n\x04rule\x18\x01 \x01(\x0b\x32\x05.Rule\x12\x19\n\x11\x61\x63tualStringValue\x18\x02 \x03(\t\x12\x17\n\x0f\x61\x63tualLongValue\x18\x03 \x03(\x03\x12\x17\n\x0f\x61\x63tualBoolValue\x18\x04 \x03(\x08\x12\x19\n\x11\x61\x63tualDoubleValue\x18\x05 \x03(\x01\"v\n\x11LibraryAppDetails\x12\x17\n\x0f\x63\x65rtificateHash\x18\x02 \x01(\t\x12\"\n\x1arefundTimeoutTimestampMsec\x18\x03 \x01(\x03\x12$\n\x1cpostDeliveryRefundWindowMsec\x18\x04 \x01(\x03\"D\n\x13LibraryInAppDetails\x12\x1a\n\x12signedPurchaseData\x18\x01 \x01(\t\x12\x11\n\tsignature\x18\x02 \x01(\t\"\xf0\x01\n\x0fLibraryMutation\x12\x15\n\x05\x64ocid\x18\x01 \x01(\x0b\x32\x06.Docid\x12\x11\n\tofferType\x18\x02 \x01(\x05\x12\x14\n\x0c\x64ocumentHash\x18\x03 \x01(\x03\x12\x0f\n\x07\x64\x65leted\x18\x04 \x01(\x08\x12&\n\nappDetails\x18\x05 \x01(\x0b\x32\x12.LibraryAppDetails\x12\x38\n\x13subscriptionDetails\x18\x06 \x01(\x0b\x32\x1b.LibrarySubscriptionDetails\x12*\n\x0cinAppDetails\x18\x07 \x01(\x0b\x32\x14.LibraryInAppDetails\"\x95\x01\n\x1aLibrarySubscriptionDetails\x12\x1f\n\x17initiationTimestampMsec\x18\x01 \x01(\x03\x12\x1f\n\x17validUntilTimestampMsec\x18\x02 \x01(\x03\x12\x14\n\x0c\x61utoRenewing\x18\x03 \x01(\x08\x12\x1f\n\x17trialUntilTimestampMsec\x18\x04 \x01(\x03\"\x8c\x01\n\rLibraryUpdate\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0e\n\x06\x63orpus\x18\x02 \x01(\x05\x12\x13\n\x0bserverToken\x18\x03 \x01(\x0c\x12\"\n\x08mutation\x18\x04 \x03(\x0b\x32\x10.LibraryMutation\x12\x0f\n\x07hasMore\x18\x05 \x01(\x08\x12\x11\n\tlibraryId\x18\x06 \x01(\t\"B\n\x1a\x41ndroidAppNotificationData\x12\x13\n\x0bversionCode\x18\x01 \x01(\x05\x12\x0f\n\x07\x61ssetId\x18\x02 \x01(\t\"M\n\x15InAppNotificationData\x12\x17\n\x0f\x63heckoutOrderId\x18\x01 \x01(\t\x12\x1b\n\x13inAppNotificationId\x18\x02 \x01(\t\"#\n\x10LibraryDirtyData\x12\x0f\n\x07\x62\x61\x63kend\x18\x01 \x01(\x05\"\x97\x04\n\x0cNotification\x12\x18\n\x10notificationType\x18\x01 \x01(\x05\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x15\n\x05\x64ocid\x18\x04 \x01(\x0b\x32\x06.Docid\x12\x10\n\x08\x64ocTitle\x18\x05 \x01(\t\x12\x11\n\tuserEmail\x18\x06 \x01(\t\x12,\n\x07\x61ppData\x18\x07 \x01(\x0b\x32\x1b.AndroidAppNotificationData\x12\x30\n\x0f\x61ppDeliveryData\x18\x08 \x01(\x0b\x32\x17.AndroidAppDeliveryData\x12\x31\n\x13purchaseRemovalData\x18\t \x01(\x0b\x32\x14.PurchaseRemovalData\x12\x33\n\x14userNotificationData\x18\n \x01(\x0b\x32\x15.UserNotificationData\x12\x35\n\x15inAppNotificationData\x18\x0b \x01(\x0b\x32\x16.InAppNotificationData\x12\x33\n\x14purchaseDeclinedData\x18\x0c \x01(\x0b\x32\x15.PurchaseDeclinedData\x12\x16\n\x0enotificationId\x18\r \x01(\t\x12%\n\rlibraryUpdate\x18\x0e \x01(\x0b\x32\x0e.LibraryUpdate\x12+\n\x10libraryDirtyData\x18\x0f \x01(\x0b\x32\x11.LibraryDirtyData\"@\n\x14PurchaseDeclinedData\x12\x0e\n\x06reason\x18\x01 \x01(\x05\x12\x18\n\x10showNotification\x18\x02 \x01(\x08\"(\n\x13PurchaseRemovalData\x12\x11\n\tmalicious\x18\x01 \x01(\x08\"\x88\x01\n\x14UserNotificationData\x12\x19\n\x11notificationTitle\x18\x01 \x01(\t\x12\x18\n\x10notificationText\x18\x02 \x01(\t\x12\x12\n\ntickerText\x18\x03 \x01(\t\x12\x13\n\x0b\x64ialogTitle\x18\x04 \x01(\t\x12\x12\n\ndialogText\x18\x05 \x01(\t\"\xa7\x02\n\x0f\x41ggregateRating\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x12\n\nstarRating\x18\x02 \x01(\x02\x12\x14\n\x0cratingsCount\x18\x03 \x01(\x04\x12\x16\n\x0eoneStarRatings\x18\x04 \x01(\x04\x12\x16\n\x0etwoStarRatings\x18\x05 \x01(\x04\x12\x18\n\x10threeStarRatings\x18\x06 \x01(\x04\x12\x17\n\x0f\x66ourStarRatings\x18\x07 \x01(\x04\x12\x17\n\x0f\x66iveStarRatings\x18\x08 \x01(\x04\x12\x15\n\rthumbsUpCount\x18\t \x01(\x04\x12\x17\n\x0fthumbsDownCount\x18\n \x01(\x04\x12\x14\n\x0c\x63ommentCount\x18\x0b \x01(\x04\x12\x1a\n\x12\x62\x61yesianMeanRating\x18\x0c \x01(\x01\"\x8f\x05\n\x07Payload\x12#\n\x0clistResponse\x18\x01 \x01(\x0b\x32\r.ListResponse\x12)\n\x0f\x64\x65tailsResponse\x18\x02 \x01(\x0b\x32\x10.DetailsResponse\x12\'\n\x0ereviewResponse\x18\x03 \x01(\x0b\x32\x0f.ReviewResponse\x12!\n\x0b\x62uyResponse\x18\x04 \x01(\x0b\x32\x0c.BuyResponse\x12\'\n\x0esearchResponse\x18\x05 \x01(\x0b\x32\x0f.SearchResponse\x12\'\n\x0e\x62rowseResponse\x18\x07 \x01(\x0b\x32\x0f.BrowseResponse\x12\x37\n\x16purchaseStatusResponse\x18\x08 \x01(\x0b\x32\x17.PurchaseStatusResponse\x12\x13\n\x0blogResponse\x18\n \x01(\t\x12\x31\n\x13\x62ulkDetailsResponse\x18\x13 \x01(\x0b\x32\x14.BulkDetailsResponse\x12+\n\x10\x64\x65liveryResponse\x18\x15 \x01(\x0b\x32\x11.DeliveryResponse\x12?\n\x1auploadDeviceConfigResponse\x18\x19 \x01(\x0b\x32\x1b.UploadDeviceConfigResponse\x12\x37\n\x16\x61ndroidCheckinResponse\x18\x1a \x01(\x0b\x32\x17.AndroidCheckinResponse\x12\x35\n\x15searchSuggestResponse\x18( \x01(\x0b\x32\x16.SearchSuggestResponse\x12\x37\n\x16testingProgramResponse\x18P \x01(\x0b\x32\x17.TestingProgramResponse\"g\n\x08PreFetch\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\"\n\x08response\x18\x02 \x01(\x0b\x32\x10.ResponseWrapper\x12\x0c\n\x04\x65tag\x18\x03 \x01(\t\x12\x0b\n\x03ttl\x18\x04 \x01(\x03\x12\x0f\n\x07softTtl\x18\x05 \x01(\x03\"\x91\x01\n\x0fResponseWrapper\x12\x19\n\x07payload\x18\x01 \x01(\x0b\x32\x08.Payload\x12!\n\x08\x63ommands\x18\x02 \x01(\x0b\x32\x0f.ServerCommands\x12\x1b\n\x08preFetch\x18\x03 \x03(\x0b\x32\t.PreFetch\x12#\n\x0cnotification\x18\x04 \x03(\x0b\x32\r.Notification\"]\n\x0eServerCommands\x12\x12\n\nclearCache\x18\x01 \x01(\x08\x12\x1b\n\x13\x64isplayErrorMessage\x18\x02 \x01(\t\x12\x1a\n\x12logErrorStacktrace\x18\x03 \x01(\t\"D\n\x12GetReviewsResponse\x12\x17\n\x06review\x18\x01 \x03(\x0b\x32\x07.Review\x12\x15\n\rmatchingCount\x18\x02 \x01(\x03\"\xa7\x02\n\x06Review\x12\x12\n\nauthorName\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x0e\n\x06source\x18\x03 \x01(\t\x12\x17\n\x0f\x64ocumentVersion\x18\x04 \x01(\t\x12\x15\n\rtimestampMsec\x18\x05 \x01(\x03\x12\x12\n\nstarRating\x18\x06 \x01(\x05\x12\r\n\x05title\x18\x07 \x01(\t\x12\x0f\n\x07\x63omment\x18\x08 \x01(\t\x12\x11\n\tcommentId\x18\t \x01(\t\x12\x12\n\ndeviceName\x18\x13 \x01(\t\x12\x11\n\treplyText\x18\x1d \x01(\t\x12\x1a\n\x12replyTimestampMsec\x18\x1e \x01(\x03\x12\x17\n\x06\x61uthor\x18\x1f \x01(\x0b\x32\x07.Author\x12\x19\n\x07\x61uthor2\x18! \x01(\x0b\x32\x08.Author2\"-\n\x06\x41uthor\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\x04urls\x18\x05 \x01(\x0b\x32\x07.Avatar\"\xae\x01\n\x07\x41uthor2\x12\x16\n\x0epersonIdString\x18\x01 \x01(\t\x12\x10\n\x08personId\x18\x02 \x01(\t\x12\x10\n\x08unknown1\x18\x03 \x01(\x05\x12\x10\n\x08unknown2\x18\x04 \x01(\x05\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x15\n\x04urls\x18\n \x01(\x0b\x32\x07.Avatar\x12\x15\n\rgooglePlusUrl\x18\x13 \x01(\t\x12\x19\n\x11googlePlusTagline\x18\x16 \x01(\t\"^\n\x06\x41vatar\x12\x10\n\x08unknown1\x18\x01 \x01(\x05\x12\x0b\n\x03url\x18\x05 \x01(\t\x12\x11\n\tsecureUrl\x18\x07 \x01(\t\x12\x10\n\x08unknown2\x18\t \x01(\x08\x12\x10\n\x08unknown3\x18\x16 \x01(\x08\"l\n\x0eReviewResponse\x12(\n\x0bgetResponse\x18\x01 \x01(\x0b\x32\x13.GetReviewsResponse\x12\x13\n\x0bnextPageUrl\x18\x02 \x01(\t\x12\x1b\n\nuserReview\x18\x03 \x01(\x0b\x32\x07.Review\"g\n\rRelatedSearch\x12\x11\n\tsearchUrl\x18\x01 \x01(\t\x12\x0e\n\x06header\x18\x02 \x01(\t\x12\x11\n\tbackendId\x18\x03 \x01(\x05\x12\x0f\n\x07\x64ocType\x18\x04 \x01(\x05\x12\x0f\n\x07\x63urrent\x18\x05 \x01(\x08\"\xc1\x01\n\x0eSearchResponse\x12\x15\n\roriginalQuery\x18\x01 \x01(\t\x12\x16\n\x0esuggestedQuery\x18\x02 \x01(\t\x12\x16\n\x0e\x61ggregateQuery\x18\x03 \x01(\x08\x12\x17\n\x06\x62ucket\x18\x04 \x03(\x0b\x32\x07.Bucket\x12\x13\n\x03\x64oc\x18\x05 \x03(\x0b\x32\x06.DocV2\x12%\n\rrelatedSearch\x18\x06 \x03(\x0b\x32\x0e.RelatedSearch\x12\x13\n\x0bnextPageUrl\x18\n \x01(\t\";\n\x15SearchSuggestResponse\x12\"\n\x05\x65ntry\x18\x01 \x03(\x0b\x32\x13.SearchSuggestEntry\"\x9e\x02\n\x12SearchSuggestEntry\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x16\n\x0esuggestedQuery\x18\x02 \x01(\t\x12:\n\x0eimageContainer\x18\x05 \x01(\x0b\x32\".SearchSuggestEntry.ImageContainer\x12\r\n\x05title\x18\x06 \x01(\t\x12\x46\n\x14packageNameContainer\x18\x08 \x01(\x0b\x32(.SearchSuggestEntry.PackageNameContainer\x1a\"\n\x0eImageContainer\x12\x10\n\x08imageUrl\x18\x05 \x01(\t\x1a+\n\x14PackageNameContainer\x12\x13\n\x0bpackageName\x18\x01 \x01(\t\"?\n\x16TestingProgramResponse\x12%\n\x06result\x18\x02 \x01(\x0b\x32\x15.TestingProgramResult\"?\n\x14TestingProgramResult\x12\'\n\x07\x64\x65tails\x18\x04 \x01(\x0b\x32\x16.TestingProgramDetails\"H\n\x15TestingProgramDetails\x12\r\n\x05\x66lag1\x18\x02 \x01(\x08\x12\n\n\x02id\x18\x03 \x01(\x03\x12\x14\n\x0cunsubscribed\x18\x04 \x01(\x08\"B\n\nLogRequest\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12!\n\x19\x64ownloadConfirmationQuery\x18\x02 \x01(\t\"?\n\x15TestingProgramRequest\x12\x13\n\x0bpackageName\x18\x01 \x01(\t\x12\x11\n\tsubscribe\x18\x02 \x01(\x08\"\x84\x01\n\x19UploadDeviceConfigRequest\x12\x36\n\x13\x64\x65viceConfiguration\x18\x01 \x01(\x0b\x32\x19.DeviceConfigurationProto\x12\x14\n\x0cmanufacturer\x18\x02 \x01(\t\x12\x19\n\x11gcmRegistrationId\x18\x03 \x01(\t\"=\n\x1aUploadDeviceConfigResponse\x12\x1f\n\x17uploadDeviceConfigToken\x18\x01 \x01(\t\"\xe7\x03\n\x15\x41ndroidCheckinRequest\x12\x0c\n\x04imei\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\x03\x12\x0e\n\x06\x64igest\x18\x03 \x01(\t\x12%\n\x07\x63heckin\x18\x04 \x01(\x0b\x32\x14.AndroidCheckinProto\x12\x14\n\x0c\x64\x65siredBuild\x18\x05 \x01(\t\x12\x0e\n\x06locale\x18\x06 \x01(\t\x12\x11\n\tloggingId\x18\x07 \x01(\x03\x12\x15\n\rmarketCheckin\x18\x08 \x01(\t\x12\x0f\n\x07macAddr\x18\t \x03(\t\x12\x0c\n\x04meid\x18\n \x01(\t\x12\x15\n\raccountCookie\x18\x0b \x03(\t\x12\x10\n\x08timeZone\x18\x0c \x01(\t\x12\x15\n\rsecurityToken\x18\r \x01(\x06\x12\x0f\n\x07version\x18\x0e \x01(\x05\x12\x0f\n\x07otaCert\x18\x0f \x03(\t\x12\x14\n\x0cserialNumber\x18\x10 \x01(\t\x12\x0b\n\x03\x65sn\x18\x11 \x01(\t\x12\x36\n\x13\x64\x65viceConfiguration\x18\x12 \x01(\x0b\x32\x19.DeviceConfigurationProto\x12\x13\n\x0bmacAddrType\x18\x13 \x03(\t\x12\x10\n\x08\x66ragment\x18\x14 \x01(\x05\x12\x10\n\x08userName\x18\x15 \x01(\t\x12\x18\n\x10userSerialNumber\x18\x16 \x01(\x05\"\xfd\x01\n\x16\x41ndroidCheckinResponse\x12\x0f\n\x07statsOk\x18\x01 \x01(\x08\x12#\n\x06intent\x18\x02 \x03(\x0b\x32\x13.AndroidIntentProto\x12\x10\n\x08timeMsec\x18\x03 \x01(\x03\x12\x0e\n\x06\x64igest\x18\x04 \x01(\t\x12\"\n\x07setting\x18\x05 \x03(\x0b\x32\x11.GservicesSetting\x12\x10\n\x08marketOk\x18\x06 \x01(\x08\x12\x11\n\tandroidId\x18\x07 \x01(\x06\x12\x15\n\rsecurityToken\x18\x08 \x01(\x06\x12\x14\n\x0csettingsDiff\x18\t \x01(\x08\x12\x15\n\rdeleteSetting\x18\n \x03(\t\"/\n\x10GservicesSetting\x12\x0c\n\x04name\x18\x01 \x01(\x0c\x12\r\n\x05value\x18\x02 \x01(\x0c\"\x94\x02\n\x11\x41ndroidBuildProto\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07product\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61rrier\x18\x03 \x01(\t\x12\r\n\x05radio\x18\x04 \x01(\t\x12\x12\n\nbootloader\x18\x05 \x01(\t\x12\x0e\n\x06\x63lient\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\x03\x12\x16\n\x0egoogleServices\x18\x08 \x01(\x05\x12\x0e\n\x06\x64\x65vice\x18\t \x01(\t\x12\x12\n\nsdkVersion\x18\n \x01(\x05\x12\r\n\x05model\x18\x0b \x01(\t\x12\x14\n\x0cmanufacturer\x18\x0c \x01(\t\x12\x14\n\x0c\x62uildProduct\x18\r \x01(\t\x12\x14\n\x0cotaInstalled\x18\x0e \x01(\x08\"\x82\x02\n\x13\x41ndroidCheckinProto\x12!\n\x05\x62uild\x18\x01 \x01(\x0b\x32\x12.AndroidBuildProto\x12\x17\n\x0flastCheckinMsec\x18\x02 \x01(\x03\x12!\n\x05\x65vent\x18\x03 \x03(\x0b\x32\x12.AndroidEventProto\x12$\n\x04stat\x18\x04 \x03(\x0b\x32\x16.AndroidStatisticProto\x12\x16\n\x0erequestedGroup\x18\x05 \x03(\t\x12\x14\n\x0c\x63\x65llOperator\x18\x06 \x01(\t\x12\x13\n\x0bsimOperator\x18\x07 \x01(\t\x12\x0f\n\x07roaming\x18\x08 \x01(\t\x12\x12\n\nuserNumber\x18\t \x01(\x05\"A\n\x11\x41ndroidEventProto\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\x10\n\x08timeMsec\x18\x03 \x01(\x03\"\xaa\x01\n\x12\x41ndroidIntentProto\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x0f\n\x07\x64\x61taUri\x18\x02 \x01(\t\x12\x10\n\x08mimeType\x18\x03 \x01(\t\x12\x11\n\tjavaClass\x18\x04 \x01(\t\x12(\n\x05\x65xtra\x18\x05 \x03(\n2\x19.AndroidIntentProto.Extra\x1a$\n\x05\x45xtra\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\r\n\x05value\x18\x07 \x01(\t\"@\n\x15\x41ndroidStatisticProto\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x12\x0b\n\x03sum\x18\x03 \x01(\x02\"v\n\x12\x43lientLibraryState\x12\x0e\n\x06\x63orpus\x18\x01 \x01(\x05\x12\x13\n\x0bserverToken\x18\x02 \x01(\x0c\x12\x13\n\x0bhashCodeSum\x18\x03 \x01(\x03\x12\x13\n\x0blibrarySize\x18\x04 \x01(\x05\x12\x11\n\tlibraryId\x18\x05 \x01(\t\"\xe2\x01\n\x15\x41ndroidDataUsageProto\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x19\n\x11\x63urrentReportMsec\x18\x02 \x01(\x03\x12\x39\n\x17keyToPackageNameMapping\x18\x03 \x03(\x0b\x32\x18.KeyToPackageNameMapping\x12\x31\n\x13payloadLevelAppStat\x18\x04 \x03(\x0b\x32\x14.PayloadLevelAppStat\x12/\n\x12ipLayerNetworkStat\x18\x05 \x03(\x0b\x32\x13.IpLayerNetworkStat\"n\n\x17\x41ndroidUsageStatsReport\x12\x11\n\tandroidId\x18\x01 \x01(\x03\x12\x11\n\tloggingId\x18\x02 \x01(\x03\x12-\n\nusageStats\x18\x03 \x01(\x0b\x32\x19.UsageStatsExtensionProto\"}\n\tAppBucket\x12\x17\n\x0f\x62ucketStartMsec\x18\x01 \x01(\x03\x12\x1a\n\x12\x62ucketDurationMsec\x18\x02 \x01(\x03\x12#\n\x0cstatCounters\x18\x03 \x03(\x0b\x32\r.StatCounters\x12\x16\n\x0eoperationCount\x18\x04 \x01(\x03\"-\n\x0b\x43ounterData\x12\r\n\x05\x62ytes\x18\x01 \x01(\x03\x12\x0f\n\x07packets\x18\x02 \x01(\x03\"b\n\x0eIpLayerAppStat\x12\x12\n\npackageKey\x18\x01 \x01(\x05\x12\x16\n\x0e\x61pplicationTag\x18\x02 \x01(\x05\x12$\n\x10ipLayerAppBucket\x18\x03 \x03(\x0b\x32\n.AppBucket\"\x8f\x01\n\x14IpLayerNetworkBucket\x12\x17\n\x0f\x62ucketStartMsec\x18\x01 \x01(\x03\x12\x1a\n\x12\x62ucketDurationMsec\x18\x02 \x01(\x03\x12#\n\x0cstatCounters\x18\x03 \x03(\x0b\x32\r.StatCounters\x12\x1d\n\x15networkActiveDuration\x18\x04 \x01(\x03\"\x98\x01\n\x12IpLayerNetworkStat\x12\x16\n\x0enetworkDetails\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x33\n\x14ipLayerNetworkBucket\x18\x03 \x03(\x0b\x32\x15.IpLayerNetworkBucket\x12\'\n\x0eipLayerAppStat\x18\x04 \x03(\x0b\x32\x0f.IpLayerAppStat\"g\n\x17KeyToPackageNameMapping\x12\x12\n\npackageKey\x18\x01 \x01(\x05\x12\x0f\n\x07uidName\x18\x02 \x01(\t\x12\'\n\x11sharedPackageList\x18\x03 \x03(\x0b\x32\x0c.PackageInfo\"3\n\x0bPackageInfo\x12\x0f\n\x07pkgName\x18\x01 \x01(\t\x12\x13\n\x0bversionCode\x18\x02 \x01(\x05\"l\n\x13PayloadLevelAppStat\x12\x12\n\npackageKey\x18\x01 \x01(\x05\x12\x16\n\x0e\x61pplicationTag\x18\x02 \x01(\x05\x12)\n\x15payloadLevelAppBucket\x18\x03 \x03(\x0b\x32\n.AppBucket\"h\n\x0cStatCounters\x12\x14\n\x0cnetworkProto\x18\x01 \x01(\x05\x12\x11\n\tdirection\x18\x02 \x01(\x05\x12!\n\x0b\x63ounterData\x18\x03 \x01(\x0b\x32\x0c.CounterData\x12\x0c\n\x04\x66gBg\x18\x04 \x01(\x05\"E\n\x18UsageStatsExtensionProto\x12)\n\tdataUsage\x18\x01 \x01(\x0b\x32\x16.AndroidDataUsageProto\"l\n\rSearchCluster\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04int1\x18\x03 \x01(\x03\x12\x0c\n\x04int2\x18\x04 \x01(\x03\x12\x10\n\x08\x63\x61tegory\x18\x05 \x01(\t\x12\x13\n\x03\x64oc\x18\x0b \x03(\x0b\x32\x06.DocV2') + syntax='proto2', + serialized_pb=_b('\n\x10googleplay.proto\"\x8b\x03\n\x16\x41ndroidAppDeliveryData\x12\x14\n\x0c\x64ownloadSize\x18\x01 \x01(\x03\x12\x11\n\tsignature\x18\x02 \x01(\t\x12\x13\n\x0b\x64ownloadUrl\x18\x03 \x01(\t\x12(\n\x0e\x61\x64\x64itionalFile\x18\x04 \x03(\x0b\x32\x10.AppFileMetadata\x12\'\n\x12\x64ownloadAuthCookie\x18\x05 \x03(\x0b\x32\x0b.HttpCookie\x12\x15\n\rforwardLocked\x18\x06 \x01(\x08\x12\x15\n\rrefundTimeout\x18\x07 \x01(\x03\x12\x17\n\x0fserverInitiated\x18\x08 \x01(\x08\x12%\n\x1dpostInstallRefundWindowMillis\x18\t \x01(\x03\x12\x1c\n\x14immediateStartNeeded\x18\n \x01(\x08\x12\'\n\tpatchData\x18\x0b \x01(\x0b\x32\x14.AndroidAppPatchData\x12+\n\x10\x65ncryptionParams\x18\x0c \x01(\x0b\x32\x11.EncryptionParams\"\x85\x01\n\x13\x41ndroidAppPatchData\x12\x17\n\x0f\x62\x61seVersionCode\x18\x01 \x01(\x05\x12\x15\n\rbaseSignature\x18\x02 \x01(\t\x12\x13\n\x0b\x64ownloadUrl\x18\x03 \x01(\t\x12\x13\n\x0bpatchFormat\x18\x04 \x01(\x05\x12\x14\n\x0cmaxPatchSize\x18\x05 \x01(\x03\"[\n\x0f\x41ppFileMetadata\x12\x10\n\x08\x66ileType\x18\x01 \x01(\x05\x12\x13\n\x0bversionCode\x18\x02 \x01(\x05\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x13\n\x0b\x64ownloadUrl\x18\x04 \x01(\t\"K\n\x10\x45ncryptionParams\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x15\n\rencryptionKey\x18\x02 \x01(\t\x12\x0f\n\x07hmacKey\x18\x03 \x01(\t\")\n\nHttpCookie\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xad\x02\n\x07\x41\x64\x64ress\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x61\x64\x64ressLine1\x18\x02 \x01(\t\x12\x14\n\x0c\x61\x64\x64ressLine2\x18\x03 \x01(\t\x12\x0c\n\x04\x63ity\x18\x04 \x01(\t\x12\r\n\x05state\x18\x05 \x01(\t\x12\x12\n\npostalCode\x18\x06 \x01(\t\x12\x15\n\rpostalCountry\x18\x07 \x01(\t\x12\x19\n\x11\x64\x65pendentLocality\x18\x08 \x01(\t\x12\x13\n\x0bsortingCode\x18\t \x01(\t\x12\x14\n\x0clanguageCode\x18\n \x01(\t\x12\x13\n\x0bphoneNumber\x18\x0b \x01(\t\x12\x11\n\tisReduced\x18\x0c \x01(\x08\x12\x11\n\tfirstName\x18\r \x01(\t\x12\x10\n\x08lastName\x18\x0e \x01(\t\x12\r\n\x05\x65mail\x18\x0f \x01(\t\"J\n\nBookAuthor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x17\n\x0f\x64\x65precatedQuery\x18\x02 \x01(\t\x12\x15\n\x05\x64ocid\x18\x03 \x01(\x0b\x32\x06.Docid\"\xc3\x03\n\x0b\x42ookDetails\x12\x1d\n\x07subject\x18\x03 \x03(\x0b\x32\x0c.BookSubject\x12\x11\n\tpublisher\x18\x04 \x01(\t\x12\x17\n\x0fpublicationDate\x18\x05 \x01(\t\x12\x0c\n\x04isbn\x18\x06 \x01(\t\x12\x15\n\rnumberOfPages\x18\x07 \x01(\x05\x12\x10\n\x08subtitle\x18\x08 \x01(\t\x12\x1b\n\x06\x61uthor\x18\t \x03(\x0b\x32\x0b.BookAuthor\x12\x11\n\treaderUrl\x18\n \x01(\t\x12\x17\n\x0f\x64ownloadEpubUrl\x18\x0b \x01(\t\x12\x16\n\x0e\x64ownloadPdfUrl\x18\x0c \x01(\t\x12\x17\n\x0f\x61\x63sEpubTokenUrl\x18\r \x01(\t\x12\x16\n\x0e\x61\x63sPdfTokenUrl\x18\x0e \x01(\t\x12\x15\n\repubAvailable\x18\x0f \x01(\x08\x12\x14\n\x0cpdfAvailable\x18\x10 \x01(\x08\x12\x16\n\x0e\x61\x62outTheAuthor\x18\x11 \x01(\t\x12+\n\nidentifier\x18\x12 \x03(\n2\x17.BookDetails.Identifier\x1a.\n\nIdentifier\x12\x0c\n\x04type\x18\x13 \x01(\x05\x12\x12\n\nidentifier\x18\x14 \x01(\t\"=\n\x0b\x42ookSubject\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05query\x18\x02 \x01(\t\x12\x11\n\tsubjectId\x18\x03 \x01(\t\"~\n\nBrowseLink\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07\x64\x61taUrl\x18\x03 \x01(\t\x12\x14\n\x04icon\x18\x05 \x01(\x0b\x32\x06.Image\x12;\n\x18unknownCategoryContainer\x18\x04 \x01(\x0b\x32\x19.UnknownCategoryContainer\"M\n\x18UnknownCategoryContainer\x12\x31\n\x13\x63\x61tegoryIdContainer\x18\x05 \x01(\x0b\x32\x14.CategoryIdContainer\")\n\x13\x43\x61tegoryIdContainer\x12\x12\n\ncategoryId\x18\x04 \x01(\t\"\xa6\x01\n\x0e\x42rowseResponse\x12\x13\n\x0b\x63ontentsUrl\x18\x01 \x01(\t\x12\x10\n\x08promoUrl\x18\x02 \x01(\t\x12\x1d\n\x08\x63\x61tegory\x18\x03 \x03(\x0b\x32\x0b.BrowseLink\x12\x1f\n\nbreadcrumb\x18\x04 \x03(\x0b\x32\x0b.BrowseLink\x12-\n\x11\x63\x61tegoryContainer\x18\t \x01(\x0b\x32\x12.CategoryContainer\"2\n\x11\x43\x61tegoryContainer\x12\x1d\n\x08\x63\x61tegory\x18\x04 \x03(\x0b\x32\x0b.BrowseLink\"\x8f\x02\n\x10\x41\x64\x64ressChallenge\x12\x1c\n\x14responseAddressParam\x18\x01 \x01(\t\x12\x1f\n\x17responseCheckboxesParam\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12\x17\n\x0f\x64\x65scriptionHtml\x18\x04 \x01(\t\x12\x1f\n\x08\x63heckbox\x18\x05 \x03(\x0b\x32\r.FormCheckbox\x12\x19\n\x07\x61\x64\x64ress\x18\x06 \x01(\x0b\x32\x08.Address\x12.\n\x0f\x65rrorInputField\x18\x07 \x03(\x0b\x32\x15.InputValidationError\x12\x11\n\terrorHtml\x18\x08 \x01(\t\x12\x15\n\rrequiredField\x18\t \x03(\x05\"\xef\x01\n\x17\x41uthenticationChallenge\x12\x1a\n\x12\x61uthenticationType\x18\x01 \x01(\x05\x12\'\n\x1fresponseAuthenticationTypeParam\x18\x02 \x01(\t\x12\x1f\n\x17responseRetryCountParam\x18\x03 \x01(\t\x12\x15\n\rpinHeaderText\x18\x04 \x01(\t\x12\x1e\n\x16pinDescriptionTextHtml\x18\x05 \x01(\t\x12\x16\n\x0egaiaHeaderText\x18\x06 \x01(\t\x12\x1f\n\x17gaiaDescriptionTextHtml\x18\x07 \x01(\t\"\x98\t\n\x0b\x42uyResponse\x12\x37\n\x10purchaseResponse\x18\x01 \x01(\x0b\x32\x1d.PurchaseNotificationResponse\x12/\n\x0c\x63heckoutinfo\x18\x02 \x01(\n2\x19.BuyResponse.CheckoutInfo\x12\x16\n\x0e\x63ontinueViaUrl\x18\x08 \x01(\t\x12\x19\n\x11purchaseStatusUrl\x18\t \x01(\t\x12\x19\n\x11\x63heckoutServiceId\x18\x0c \x01(\t\x12\x1d\n\x15\x63heckoutTokenRequired\x18\r \x01(\x08\x12\x17\n\x0f\x62\x61seCheckoutUrl\x18\x0e \x01(\t\x12\x17\n\x0ftosCheckboxHtml\x18% \x03(\t\x12\x1a\n\x12iabPermissionError\x18& \x01(\x05\x12\x37\n\x16purchaseStatusResponse\x18\' \x01(\x0b\x32\x17.PurchaseStatusResponse\x12\x16\n\x0epurchaseCookie\x18. \x01(\t\x12\x1d\n\tchallenge\x18\x31 \x01(\x0b\x32\n.Challenge\x12\x15\n\rdownloadToken\x18\x37 \x01(\t\x1a\xdc\x05\n\x0c\x43heckoutInfo\x12\x17\n\x04item\x18\x03 \x01(\x0b\x32\t.LineItem\x12\x1a\n\x07subItem\x18\x04 \x03(\x0b\x32\t.LineItem\x12@\n\x0e\x63heckoutoption\x18\x05 \x03(\n2(.BuyResponse.CheckoutInfo.CheckoutOption\x12\x1d\n\x15\x64\x65precatedCheckoutUrl\x18\n \x01(\t\x12\x18\n\x10\x61\x64\x64InstrumentUrl\x18\x0b \x01(\t\x12\x12\n\nfooterHtml\x18\x14 \x03(\t\x12 \n\x18\x65ligibleInstrumentFamily\x18\x1f \x03(\x05\x12\x14\n\x0c\x66ootnoteHtml\x18$ \x03(\t\x12\'\n\x12\x65ligibleInstrument\x18, \x03(\x0b\x32\x0b.Instrument\x1a\xa6\x03\n\x0e\x43heckoutOption\x12\x15\n\rformOfPayment\x18\x06 \x01(\t\x12\x1b\n\x13\x65ncodedAdjustedCart\x18\x07 \x01(\t\x12\x14\n\x0cinstrumentId\x18\x0f \x01(\t\x12\x17\n\x04item\x18\x10 \x03(\x0b\x32\t.LineItem\x12\x1a\n\x07subItem\x18\x11 \x03(\x0b\x32\t.LineItem\x12\x18\n\x05total\x18\x12 \x01(\x0b\x32\t.LineItem\x12\x12\n\nfooterHtml\x18\x13 \x03(\t\x12\x18\n\x10instrumentFamily\x18\x1d \x01(\x05\x12.\n&deprecatedInstrumentInapplicableReason\x18\x1e \x03(\x05\x12\x1a\n\x12selectedInstrument\x18 \x01(\x08\x12\x1a\n\x07summary\x18! \x01(\x0b\x32\t.LineItem\x12\x14\n\x0c\x66ootnoteHtml\x18# \x03(\t\x12\x1f\n\ninstrument\x18+ \x01(\x0b\x32\x0b.Instrument\x12\x16\n\x0epurchaseCookie\x18- \x01(\t\x12\x16\n\x0e\x64isabledReason\x18\x30 \x03(\t\"s\n\tChallenge\x12+\n\x10\x61\x64\x64ressChallenge\x18\x01 \x01(\x0b\x32\x11.AddressChallenge\x12\x39\n\x17\x61uthenticationChallenge\x18\x02 \x01(\x0b\x32\x18.AuthenticationChallenge\"F\n\x0c\x46ormCheckbox\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x0f\n\x07\x63hecked\x18\x02 \x01(\x08\x12\x10\n\x08required\x18\x03 \x01(\x08\"\\\n\x08LineItem\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x15\n\x05offer\x18\x03 \x01(\x0b\x32\x06.Offer\x12\x16\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x06.Money\"F\n\x05Money\x12\x0e\n\x06micros\x18\x01 \x01(\x03\x12\x14\n\x0c\x63urrencyCode\x18\x02 \x01(\t\x12\x17\n\x0f\x66ormattedAmount\x18\x03 \x01(\t\"\x80\x01\n\x1cPurchaseNotificationResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x1d\n\tdebugInfo\x18\x02 \x01(\x0b\x32\n.DebugInfo\x12\x1d\n\x15localizedErrorMessage\x18\x03 \x01(\t\x12\x12\n\npurchaseId\x18\x04 \x01(\t\"\xf9\x01\n\x16PurchaseStatusResponse\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\tstatusMsg\x18\x02 \x01(\t\x12\x13\n\x0bstatusTitle\x18\x03 \x01(\t\x12\x14\n\x0c\x62riefMessage\x18\x04 \x01(\t\x12\x0f\n\x07infoUrl\x18\x05 \x01(\t\x12%\n\rlibraryUpdate\x18\x06 \x01(\x0b\x32\x0e.LibraryUpdate\x12\'\n\x12rejectedInstrument\x18\x07 \x01(\x0b\x32\x0b.Instrument\x12\x30\n\x0f\x61ppDeliveryData\x18\x08 \x01(\x0b\x32\x17.AndroidAppDeliveryData\"D\n\x10\x44\x65liveryResponse\x12\x30\n\x0f\x61ppDeliveryData\x18\x02 \x01(\x0b\x32\x17.AndroidAppDeliveryData\"<\n\x05\x44ocid\x12\x14\n\x0c\x62\x61\x63kendDocid\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x0f\n\x07\x62\x61\x63kend\x18\x03 \x01(\x05\">\n\x07Install\x12\x11\n\tandroidId\x18\x01 \x01(\x06\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12\x0f\n\x07\x62undled\x18\x03 \x01(\x08\"\x80\x03\n\x05Offer\x12\x0e\n\x06micros\x18\x01 \x01(\x03\x12\x14\n\x0c\x63urrencyCode\x18\x02 \x01(\t\x12\x17\n\x0f\x66ormattedAmount\x18\x03 \x01(\t\x12\x1e\n\x0e\x63onvertedPrice\x18\x04 \x03(\x0b\x32\x06.Offer\x12\x1c\n\x14\x63heckoutFlowRequired\x18\x05 \x01(\x08\x12\x17\n\x0f\x66ullPriceMicros\x18\x06 \x01(\x03\x12\x1b\n\x13\x66ormattedFullAmount\x18\x07 \x01(\t\x12\x11\n\tofferType\x18\x08 \x01(\x05\x12!\n\x0brentalTerms\x18\t \x01(\x0b\x32\x0c.RentalTerms\x12\x12\n\nonSaleDate\x18\n \x01(\x03\x12\x16\n\x0epromotionLabel\x18\x0b \x03(\t\x12-\n\x11subscriptionTerms\x18\x0c \x01(\x0b\x32\x12.SubscriptionTerms\x12\x15\n\rformattedName\x18\r \x01(\t\x12\x1c\n\x14\x66ormattedDescription\x18\x0e \x01(\t\"\xb1\x01\n\rOwnershipInfo\x12\x1f\n\x17initiationTimestampMsec\x18\x01 \x01(\x03\x12\x1f\n\x17validUntilTimestampMsec\x18\x02 \x01(\x03\x12\x14\n\x0c\x61utoRenewing\x18\x03 \x01(\x08\x12\"\n\x1arefundTimeoutTimestampMsec\x18\x04 \x01(\x03\x12$\n\x1cpostDeliveryRefundWindowMsec\x18\x05 \x01(\x03\"H\n\x0bRentalTerms\x12\x1a\n\x12grantPeriodSeconds\x18\x01 \x01(\x05\x12\x1d\n\x15\x61\x63tivatePeriodSeconds\x18\x02 \x01(\x05\"[\n\x11SubscriptionTerms\x12$\n\x0frecurringPeriod\x18\x01 \x01(\x0b\x32\x0b.TimePeriod\x12 \n\x0btrialPeriod\x18\x02 \x01(\x0b\x32\x0b.TimePeriod\")\n\nTimePeriod\x12\x0c\n\x04unit\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\"G\n\x12\x42illingAddressSpec\x12\x1a\n\x12\x62illingAddressType\x18\x01 \x01(\x05\x12\x15\n\rrequiredField\x18\x02 \x03(\x05\">\n\x19\x43\x61rrierBillingCredentials\x12\r\n\x05value\x18\x01 \x01(\t\x12\x12\n\nexpiration\x18\x02 \x01(\x03\"\xa9\x02\n\x18\x43\x61rrierBillingInstrument\x12\x15\n\rinstrumentKey\x18\x01 \x01(\t\x12\x13\n\x0b\x61\x63\x63ountType\x18\x02 \x01(\t\x12\x14\n\x0c\x63urrencyCode\x18\x03 \x01(\t\x12\x18\n\x10transactionLimit\x18\x04 \x01(\x03\x12\x1c\n\x14subscriberIdentifier\x18\x05 \x01(\t\x12\x39\n\x17\x65ncryptedSubscriberInfo\x18\x06 \x01(\x0b\x32\x18.EncryptedSubscriberInfo\x12/\n\x0b\x63redentials\x18\x07 \x01(\x0b\x32\x1a.CarrierBillingCredentials\x12\'\n\x12\x61\x63\x63\x65ptedCarrierTos\x18\x08 \x01(\x0b\x32\x0b.CarrierTos\"\xca\x01\n\x1e\x43\x61rrierBillingInstrumentStatus\x12\x1f\n\ncarrierTos\x18\x01 \x01(\x0b\x32\x0b.CarrierTos\x12\x1b\n\x13\x61ssociationRequired\x18\x02 \x01(\x08\x12\x18\n\x10passwordRequired\x18\x03 \x01(\x08\x12.\n\x15\x63\x61rrierPasswordPrompt\x18\x04 \x01(\x0b\x32\x0f.PasswordPrompt\x12\x12\n\napiVersion\x18\x05 \x01(\x05\x12\x0c\n\x04name\x18\x06 \x01(\t\"\x8e\x01\n\nCarrierTos\x12 \n\x06\x64\x63\x62Tos\x18\x01 \x01(\x0b\x32\x10.CarrierTosEntry\x12 \n\x06piiTos\x18\x02 \x01(\x0b\x32\x10.CarrierTosEntry\x12\x1d\n\x15needsDcbTosAcceptance\x18\x03 \x01(\x08\x12\x1d\n\x15needsPiiTosAcceptance\x18\x04 \x01(\x08\"/\n\x0f\x43\x61rrierTosEntry\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\"\xa2\x01\n\x14\x43reditCardInstrument\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x14\n\x0c\x65scrowHandle\x18\x02 \x01(\t\x12\x12\n\nlastDigits\x18\x03 \x01(\t\x12\x17\n\x0f\x65xpirationMonth\x18\x04 \x01(\x05\x12\x16\n\x0e\x65xpirationYear\x18\x05 \x01(\x05\x12!\n\x0e\x65scrowEfeParam\x18\x06 \x03(\x0b\x32\t.EfeParam\"&\n\x08\x45\x66\x65Param\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\t\"@\n\x14InputValidationError\x12\x12\n\ninputField\x18\x01 \x01(\x05\x12\x14\n\x0c\x65rrorMessage\x18\x02 \x01(\t\"\xc2\x02\n\nInstrument\x12\x14\n\x0cinstrumentId\x18\x01 \x01(\t\x12 \n\x0e\x62illingAddress\x18\x02 \x01(\x0b\x32\x08.Address\x12)\n\ncreditCard\x18\x03 \x01(\x0b\x32\x15.CreditCardInstrument\x12\x31\n\x0e\x63\x61rrierBilling\x18\x04 \x01(\x0b\x32\x19.CarrierBillingInstrument\x12/\n\x12\x62illingAddressSpec\x18\x05 \x01(\x0b\x32\x13.BillingAddressSpec\x12\x18\n\x10instrumentFamily\x18\x06 \x01(\x05\x12=\n\x14\x63\x61rrierBillingStatus\x18\x07 \x01(\x0b\x32\x1f.CarrierBillingInstrumentStatus\x12\x14\n\x0c\x64isplayTitle\x18\x08 \x01(\t\";\n\x0ePasswordPrompt\x12\x0e\n\x06prompt\x18\x01 \x01(\t\x12\x19\n\x11\x66orgotPasswordUrl\x18\x02 \x01(\t\"\x92\x01\n\x11\x43ontainerMetadata\x12\x11\n\tbrowseUrl\x18\x01 \x01(\t\x12\x13\n\x0bnextPageUrl\x18\x02 \x01(\t\x12\x11\n\trelevance\x18\x03 \x01(\x01\x12\x18\n\x10\x65stimatedResults\x18\x04 \x01(\x03\x12\x17\n\x0f\x61nalyticsCookie\x18\x05 \x01(\t\x12\x0f\n\x07ordered\x18\x06 \x01(\x08\"i\n\tDebugInfo\x12\x0f\n\x07message\x18\x01 \x03(\t\x12!\n\x06timing\x18\x02 \x03(\n2\x11.DebugInfo.Timing\x1a(\n\x06Timing\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x10\n\x08timeInMs\x18\x04 \x01(\x01\"\'\n\x10\x42ulkDetailsEntry\x12\x13\n\x03\x64oc\x18\x01 \x01(\x0b\x32\x06.DocV2\"=\n\x12\x42ulkDetailsRequest\x12\r\n\x05\x64ocid\x18\x01 \x03(\t\x12\x18\n\x10includeChildDocs\x18\x02 \x01(\x08\"7\n\x13\x42ulkDetailsResponse\x12 \n\x05\x65ntry\x18\x01 \x03(\x0b\x32\x11.BulkDetailsEntry\"\xa0\x01\n\x0f\x44\x65tailsResponse\x12\x15\n\x05\x64ocV1\x18\x01 \x01(\x0b\x32\x06.DocV1\x12\x17\n\x0f\x61nalyticsCookie\x18\x02 \x01(\t\x12\x1b\n\nuserReview\x18\x03 \x01(\x0b\x32\x07.Review\x12\x15\n\x05\x64ocV2\x18\x04 \x01(\x0b\x32\x06.DocV2\x12\x12\n\nfooterHtml\x18\x05 \x01(\t\x12\x15\n\x05\x62\x61\x64ge\x18\x07 \x03(\x0b\x32\x06.Badge\"\'\n\x05\x42\x61\x64ge\x12\r\n\x05label\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x0b \x01(\t\"\xb5\x03\n\x18\x44\x65viceConfigurationProto\x12\x13\n\x0btouchScreen\x18\x01 \x01(\x05\x12\x10\n\x08keyboard\x18\x02 \x01(\x05\x12\x12\n\nnavigation\x18\x03 \x01(\x05\x12\x14\n\x0cscreenLayout\x18\x04 \x01(\x05\x12\x17\n\x0fhasHardKeyboard\x18\x05 \x01(\x08\x12\x1c\n\x14hasFiveWayNavigation\x18\x06 \x01(\x08\x12\x15\n\rscreenDensity\x18\x07 \x01(\x05\x12\x13\n\x0bglEsVersion\x18\x08 \x01(\x05\x12\x1b\n\x13systemSharedLibrary\x18\t \x03(\t\x12\x1e\n\x16systemAvailableFeature\x18\n \x03(\t\x12\x16\n\x0enativePlatform\x18\x0b \x03(\t\x12\x13\n\x0bscreenWidth\x18\x0c \x01(\x05\x12\x14\n\x0cscreenHeight\x18\r \x01(\x05\x12\x1d\n\x15systemSupportedLocale\x18\x0e \x03(\t\x12\x13\n\x0bglExtension\x18\x0f \x03(\t\x12\x13\n\x0b\x64\x65viceClass\x18\x10 \x01(\x05\x12\x1c\n\x14maxApkDownloadSizeMb\x18\x11 \x01(\x05\"\xff\x03\n\x08\x44ocument\x12\x15\n\x05\x64ocid\x18\x01 \x01(\x0b\x32\x06.Docid\x12\x1a\n\nfetchDocid\x18\x02 \x01(\x0b\x32\x06.Docid\x12\x1b\n\x0bsampleDocid\x18\x03 \x01(\x0b\x32\x06.Docid\x12\r\n\x05title\x18\x04 \x01(\t\x12\x0b\n\x03url\x18\x05 \x01(\t\x12\x0f\n\x07snippet\x18\x06 \x03(\t\x12\x1f\n\x0fpriceDeprecated\x18\x07 \x01(\x0b\x32\x06.Offer\x12#\n\x0c\x61vailability\x18\t \x01(\x0b\x32\r.Availability\x12\x15\n\x05image\x18\n \x03(\x0b\x32\x06.Image\x12\x18\n\x05\x63hild\x18\x0b \x03(\x0b\x32\t.Document\x12)\n\x0f\x61ggregateRating\x18\r \x01(\x0b\x32\x10.AggregateRating\x12\x15\n\x05offer\x18\x0e \x03(\x0b\x32\x06.Offer\x12*\n\x11translatedSnippet\x18\x0f \x03(\x0b\x32\x0f.TranslatedText\x12)\n\x0f\x64ocumentVariant\x18\x10 \x03(\x0b\x32\x10.DocumentVariant\x12\x12\n\ncategoryId\x18\x11 \x03(\t\x12\x1d\n\ndecoration\x18\x12 \x03(\x0b\x32\t.Document\x12\x19\n\x06parent\x18\x13 \x03(\x0b\x32\t.Document\x12\x18\n\x10privacyPolicyUrl\x18\x14 \x01(\t\"\x81\x02\n\x0f\x44ocumentVariant\x12\x15\n\rvariationType\x18\x01 \x01(\x05\x12\x13\n\x04rule\x18\x02 \x01(\x0b\x32\x05.Rule\x12\r\n\x05title\x18\x03 \x01(\t\x12\x0f\n\x07snippet\x18\x04 \x03(\t\x12\x15\n\rrecentChanges\x18\x05 \x01(\t\x12(\n\x0f\x61utoTranslation\x18\x06 \x03(\x0b\x32\x0f.TranslatedText\x12\x15\n\x05offer\x18\x07 \x03(\x0b\x32\x06.Offer\x12\x11\n\tchannelId\x18\t \x01(\x03\x12\x18\n\x05\x63hild\x18\n \x03(\x0b\x32\t.Document\x12\x1d\n\ndecoration\x18\x0b \x03(\x0b\x32\t.Document\"\xc9\x02\n\x05Image\x12\x11\n\timageType\x18\x01 \x01(\x05\x12#\n\tdimension\x18\x02 \x01(\n2\x10.Image.Dimension\x12\x10\n\x08imageUrl\x18\x05 \x01(\t\x12\x18\n\x10\x61ltTextLocalized\x18\x06 \x01(\t\x12\x11\n\tsecureUrl\x18\x07 \x01(\t\x12\x1a\n\x12positionInSequence\x18\x08 \x01(\x05\x12\x1e\n\x16supportsFifeUrlOptions\x18\t \x01(\x08\x12!\n\x08\x63itation\x18\n \x01(\n2\x0f.Image.Citation\x12\r\n\x05\x63olor\x18\x0f \x01(\t\x1a*\n\tDimension\x12\r\n\x05width\x18\x03 \x01(\x05\x12\x0e\n\x06height\x18\x04 \x01(\x05\x1a/\n\x08\x43itation\x12\x16\n\x0etitleLocalized\x18\x0b \x01(\t\x12\x0b\n\x03url\x18\x0c \x01(\t\"J\n\x0eTranslatedText\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x14\n\x0csourceLocale\x18\x02 \x01(\t\x12\x14\n\x0ctargetLocale\x18\x03 \x01(\t\"i\n\x0bPlusOneData\x12\x11\n\tsetByUser\x18\x01 \x01(\x08\x12\r\n\x05total\x18\x02 \x01(\x03\x12\x14\n\x0c\x63irclesTotal\x18\x03 \x01(\x03\x12\"\n\rcirclesPeople\x18\x04 \x03(\x0b\x32\x0b.PlusPerson\":\n\nPlusPerson\x12\x13\n\x0b\x64isplayName\x18\x02 \x01(\t\x12\x17\n\x0fprofileImageUrl\x18\x04 \x01(\t\"c\n\x0c\x41lbumDetails\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1e\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32\r.MusicDetails\x12%\n\rdisplayArtist\x18\x03 \x01(\x0b\x32\x0e.ArtistDetails\"\xb6\x04\n\nAppDetails\x12\x15\n\rdeveloperName\x18\x01 \x01(\t\x12\x1a\n\x12majorVersionNumber\x18\x02 \x01(\x05\x12\x13\n\x0bversionCode\x18\x03 \x01(\x05\x12\x15\n\rversionString\x18\x04 \x01(\t\x12\r\n\x05title\x18\x05 \x01(\t\x12\x13\n\x0b\x61ppCategory\x18\x07 \x03(\t\x12\x15\n\rcontentRating\x18\x08 \x01(\x05\x12\x18\n\x10installationSize\x18\t \x01(\x03\x12\x12\n\npermission\x18\n \x03(\t\x12\x16\n\x0e\x64\x65veloperEmail\x18\x0b \x01(\t\x12\x18\n\x10\x64\x65veloperWebsite\x18\x0c \x01(\t\x12\x14\n\x0cnumDownloads\x18\r \x01(\t\x12\x13\n\x0bpackageName\x18\x0e \x01(\t\x12\x19\n\x11recentChangesHtml\x18\x0f \x01(\t\x12\x12\n\nuploadDate\x18\x10 \x01(\t\x12\x1b\n\x04\x66ile\x18\x11 \x03(\x0b\x32\r.FileMetadata\x12\x0f\n\x07\x61ppType\x18\x12 \x01(\t\x12\x10\n\x08unstable\x18\x15 \x01(\x08\x12\x13\n\x0b\x63ontainsAds\x18\x1e \x01(\t\x12#\n\x0c\x64\x65pendencies\x18\" \x01(\x0b\x32\r.Dependencies\x12/\n\x12testingProgramInfo\x18# \x01(\x0b\x32\x13.TestingProgramInfo\x12)\n\x0f\x65\x61rlyAccessInfo\x18$ \x01(\x0b\x32\x10.EarlyAccessInfo\"e\n\x0c\x44\x65pendencies\x12\x10\n\x08unknown1\x18\x01 \x01(\x05\x12\x10\n\x08unknown2\x18\x02 \x01(\x03\x12\x1f\n\ndependency\x18\x03 \x03(\x0b\x32\x0b.Dependency\x12\x10\n\x08unknown3\x18\x04 \x01(\x05\"D\n\nDependency\x12\x13\n\x0bpackageName\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12\x10\n\x08unknown4\x18\x04 \x01(\x05\"Z\n\x12TestingProgramInfo\x12\x12\n\nsubscribed\x18\x02 \x01(\x08\x12\x13\n\x0bsubscribed1\x18\x03 \x01(\x08\x12\x1b\n\x13testingProgramEmail\x18\x05 \x01(\t\" \n\x0f\x45\x61rlyAccessInfo\x12\r\n\x05\x65mail\x18\x03 \x01(\t\"^\n\rArtistDetails\x12\x12\n\ndetailsUrl\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\rexternalLinks\x18\x03 \x01(\x0b\x32\x14.ArtistExternalLinks\"b\n\x13\x41rtistExternalLinks\x12\x12\n\nwebsiteUrl\x18\x01 \x03(\t\x12\x1c\n\x14googlePlusProfileUrl\x18\x02 \x01(\t\x12\x19\n\x11youtubeChannelUrl\x18\x03 \x01(\t\"\xc6\x03\n\x0f\x44ocumentDetails\x12\x1f\n\nappDetails\x18\x01 \x01(\x0b\x32\x0b.AppDetails\x12#\n\x0c\x61lbumDetails\x18\x02 \x01(\x0b\x32\r.AlbumDetails\x12%\n\rartistDetails\x18\x03 \x01(\x0b\x32\x0e.ArtistDetails\x12!\n\x0bsongDetails\x18\x04 \x01(\x0b\x32\x0c.SongDetails\x12!\n\x0b\x62ookDetails\x18\x05 \x01(\x0b\x32\x0c.BookDetails\x12#\n\x0cvideoDetails\x18\x06 \x01(\x0b\x32\r.VideoDetails\x12\x31\n\x13subscriptionDetails\x18\x07 \x01(\x0b\x32\x14.SubscriptionDetails\x12)\n\x0fmagazineDetails\x18\x08 \x01(\x0b\x32\x10.MagazineDetails\x12%\n\rtvShowDetails\x18\t \x01(\x0b\x32\x0e.TvShowDetails\x12)\n\x0ftvSeasonDetails\x18\n \x01(\x0b\x32\x10.TvSeasonDetails\x12+\n\x10tvEpisodeDetails\x18\x0b \x01(\x0b\x32\x11.TvEpisodeDetails\"C\n\x0c\x46ileMetadata\x12\x10\n\x08\x66ileType\x18\x01 \x01(\x05\x12\x13\n\x0bversionCode\x18\x02 \x01(\x05\x12\x0c\n\x04size\x18\x03 \x01(\x03\"\x94\x01\n\x0fMagazineDetails\x12\x18\n\x10parentDetailsUrl\x18\x01 \x01(\t\x12)\n!deviceAvailabilityDescriptionHtml\x18\x02 \x01(\t\x12\x16\n\x0epsvDescription\x18\x03 \x01(\t\x12$\n\x1c\x64\x65liveryFrequencyDescription\x18\x04 \x01(\t\"\xbb\x01\n\x0cMusicDetails\x12\x11\n\tcensoring\x18\x01 \x01(\x05\x12\x13\n\x0b\x64urationSec\x18\x02 \x01(\x05\x12\x1b\n\x13originalReleaseDate\x18\x03 \x01(\t\x12\r\n\x05label\x18\x04 \x01(\t\x12\x1e\n\x06\x61rtist\x18\x05 \x03(\x0b\x32\x0e.ArtistDetails\x12\r\n\x05genre\x18\x06 \x03(\t\x12\x13\n\x0breleaseDate\x18\x07 \x01(\t\x12\x13\n\x0breleaseType\x18\x08 \x03(\x05\"\x9e\x01\n\x0bSongDetails\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1e\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32\r.MusicDetails\x12\x11\n\talbumName\x18\x03 \x01(\t\x12\x13\n\x0btrackNumber\x18\x04 \x01(\x05\x12\x12\n\npreviewUrl\x18\x05 \x01(\t\x12%\n\rdisplayArtist\x18\x06 \x01(\x0b\x32\x0e.ArtistDetails\"1\n\x13SubscriptionDetails\x12\x1a\n\x12subscriptionPeriod\x18\x01 \x01(\x05\"e\n\x07Trailer\x12\x11\n\ttrailerId\x18\x01 \x01(\t\x12\r\n\x05title\x18\x02 \x01(\t\x12\x14\n\x0cthumbnailUrl\x18\x03 \x01(\t\x12\x10\n\x08watchUrl\x18\x04 \x01(\t\x12\x10\n\x08\x64uration\x18\x05 \x01(\t\"W\n\x10TvEpisodeDetails\x12\x18\n\x10parentDetailsUrl\x18\x01 \x01(\t\x12\x14\n\x0c\x65pisodeIndex\x18\x02 \x01(\x05\x12\x13\n\x0breleaseDate\x18\x03 \x01(\t\"j\n\x0fTvSeasonDetails\x12\x18\n\x10parentDetailsUrl\x18\x01 \x01(\t\x12\x13\n\x0bseasonIndex\x18\x02 \x01(\x05\x12\x13\n\x0breleaseDate\x18\x03 \x01(\t\x12\x13\n\x0b\x62roadcaster\x18\x04 \x01(\t\"]\n\rTvShowDetails\x12\x13\n\x0bseasonCount\x18\x01 \x01(\x05\x12\x11\n\tstartYear\x18\x02 \x01(\x05\x12\x0f\n\x07\x65ndYear\x18\x03 \x01(\x05\x12\x13\n\x0b\x62roadcaster\x18\x04 \x01(\t\"?\n\x0bVideoCredit\x12\x12\n\ncreditType\x18\x01 \x01(\x05\x12\x0e\n\x06\x63redit\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x03(\t\"\xdb\x01\n\x0cVideoDetails\x12\x1c\n\x06\x63redit\x18\x01 \x03(\x0b\x32\x0c.VideoCredit\x12\x10\n\x08\x64uration\x18\x02 \x01(\t\x12\x13\n\x0breleaseDate\x18\x03 \x01(\t\x12\x15\n\rcontentRating\x18\x04 \x01(\t\x12\r\n\x05likes\x18\x05 \x01(\x03\x12\x10\n\x08\x64islikes\x18\x06 \x01(\x03\x12\r\n\x05genre\x18\x07 \x03(\t\x12\x19\n\x07trailer\x18\x08 \x03(\x0b\x32\x08.Trailer\x12$\n\nrentalTerm\x18\t \x03(\x0b\x32\x10.VideoRentalTerm\"\xa0\x01\n\x0fVideoRentalTerm\x12\x11\n\tofferType\x18\x01 \x01(\x05\x12\x19\n\x11offerAbbreviation\x18\x02 \x01(\t\x12\x14\n\x0crentalHeader\x18\x03 \x01(\t\x12#\n\x04term\x18\x04 \x03(\n2\x15.VideoRentalTerm.Term\x1a$\n\x04Term\x12\x0e\n\x06header\x18\x05 \x01(\t\x12\x0c\n\x04\x62ody\x18\x06 \x01(\t\"\xf9\x01\n\x06\x42ucket\x12\x18\n\x08\x64ocument\x18\x01 \x03(\x0b\x32\x06.DocV1\x12\x13\n\x0bmultiCorpus\x18\x02 \x01(\x08\x12\r\n\x05title\x18\x03 \x01(\t\x12\x0f\n\x07iconUrl\x18\x04 \x01(\t\x12\x17\n\x0f\x66ullContentsUrl\x18\x05 \x01(\t\x12\x11\n\trelevance\x18\x06 \x01(\x01\x12\x18\n\x10\x65stimatedResults\x18\x07 \x01(\x03\x12\x17\n\x0f\x61nalyticsCookie\x18\x08 \x01(\t\x12\x1b\n\x13\x66ullContentsListUrl\x18\t \x01(\t\x12\x13\n\x0bnextPageUrl\x18\n \x01(\t\x12\x0f\n\x07ordered\x18\x0b \x01(\x08\"H\n\x0cListResponse\x12\x17\n\x06\x62ucket\x18\x01 \x03(\x0b\x32\x07.Bucket\x12\x1f\n\x07\x63luster\x18\x02 \x03(\x0b\x32\x0e.SearchCluster\"\x94\x03\n\x05\x44ocV1\x12\x1c\n\tfinskyDoc\x18\x01 \x01(\x0b\x32\t.Document\x12\r\n\x05\x64ocid\x18\x02 \x01(\t\x12\x12\n\ndetailsUrl\x18\x03 \x01(\t\x12\x12\n\nreviewsUrl\x18\x04 \x01(\t\x12\x16\n\x0erelatedListUrl\x18\x05 \x01(\t\x12\x15\n\rmoreByListUrl\x18\x06 \x01(\t\x12\x10\n\x08shareUrl\x18\x07 \x01(\t\x12\x0f\n\x07\x63reator\x18\x08 \x01(\t\x12!\n\x07\x64\x65tails\x18\t \x01(\x0b\x32\x10.DocumentDetails\x12\x17\n\x0f\x64\x65scriptionHtml\x18\n \x01(\t\x12\x18\n\x10relatedBrowseUrl\x18\x0b \x01(\t\x12\x17\n\x0fmoreByBrowseUrl\x18\x0c \x01(\t\x12\x15\n\rrelatedHeader\x18\r \x01(\t\x12\x14\n\x0cmoreByHeader\x18\x0e \x01(\t\x12\r\n\x05title\x18\x0f \x01(\t\x12!\n\x0bplusOneData\x18\x10 \x01(\x0b\x32\x0c.PlusOneData\x12\x16\n\x0ewarningMessage\x18\x11 \x01(\t\"\xc9\x04\n\x05\x44ocV2\x12\r\n\x05\x64ocid\x18\x01 \x01(\t\x12\x14\n\x0c\x62\x61\x63kendDocid\x18\x02 \x01(\t\x12\x0f\n\x07\x64ocType\x18\x03 \x01(\x05\x12\x11\n\tbackendId\x18\x04 \x01(\x05\x12\r\n\x05title\x18\x05 \x01(\t\x12\x0f\n\x07\x63reator\x18\x06 \x01(\t\x12\x17\n\x0f\x64\x65scriptionHtml\x18\x07 \x01(\t\x12\x15\n\x05offer\x18\x08 \x03(\x0b\x32\x06.Offer\x12#\n\x0c\x61vailability\x18\t \x01(\x0b\x32\r.Availability\x12\x15\n\x05image\x18\n \x03(\x0b\x32\x06.Image\x12\x15\n\x05\x63hild\x18\x0b \x03(\x0b\x32\x06.DocV2\x12-\n\x11\x63ontainerMetadata\x18\x0c \x01(\x0b\x32\x12.ContainerMetadata\x12!\n\x07\x64\x65tails\x18\r \x01(\x0b\x32\x10.DocumentDetails\x12)\n\x0f\x61ggregateRating\x18\x0e \x01(\x0b\x32\x10.AggregateRating\x12#\n\x0crelatedLinks\x18\x0f \x01(\x0b\x32\r.RelatedLinks\x12\x12\n\ndetailsUrl\x18\x10 \x01(\t\x12\x10\n\x08shareUrl\x18\x11 \x01(\t\x12\x12\n\nreviewsUrl\x18\x12 \x01(\t\x12\x12\n\nbackendUrl\x18\x13 \x01(\t\x12\x1a\n\x12purchaseDetailsUrl\x18\x14 \x01(\t\x12\x17\n\x0f\x64\x65tailsReusable\x18\x15 \x01(\x08\x12\x10\n\x08subtitle\x18\x16 \x01(\t\x12\x1d\n\tunknown25\x18\x19 \x01(\x0b\x32\n.Unknown25\")\n\tUnknown25\x12\x1c\n\x04item\x18\x02 \x03(\x0b\x32\x0e.Unknown25Item\"F\n\rUnknown25Item\x12\r\n\x05label\x18\x01 \x01(\t\x12&\n\tcontainer\x18\x03 \x01(\x0b\x32\x13.Unknown25Container\"#\n\x12Unknown25Container\x12\r\n\x05value\x18\x02 \x01(\t\"\xd9\x01\n\x0cRelatedLinks\x12\'\n\x08unknown1\x18\n \x01(\x0b\x32\x15.RelatedLinksUnknown1\x12\x18\n\x10privacyPolicyUrl\x18\x12 \x01(\t\x12&\n\x10youMightAlsoLike\x18\x18 \x01(\x0b\x32\x0c.RelatedLink\x12\x15\n\x05rated\x18\x1d \x01(\x0b\x32\x06.Rated\x12\"\n\x0crelatedLinks\x18\" \x03(\x0b\x32\x0c.RelatedLink\x12#\n\x0c\x63\x61tegoryInfo\x18\x35 \x01(\x0b\x32\r.CategoryInfo\"?\n\x14RelatedLinksUnknown1\x12\'\n\x08unknown2\x18\x02 \x01(\x0b\x32\x15.RelatedLinksUnknown2\"+\n\x14RelatedLinksUnknown2\x12\x13\n\x0bnextPageUrl\x18\x03 \x01(\t\"H\n\x05Rated\x12\r\n\x05label\x18\x01 \x01(\t\x12\x15\n\x05image\x18\x02 \x01(\x0b\x32\x06.Image\x12\x19\n\x11learnMoreHtmlLink\x18\x04 \x01(\t\"8\n\x0bRelatedLink\x12\r\n\x05label\x18\x01 \x01(\t\x12\x0c\n\x04url1\x18\x02 \x01(\t\x12\x0c\n\x04url2\x18\x03 \x01(\t\"4\n\x0c\x43\x61tegoryInfo\x12\x0f\n\x07\x61ppType\x18\x01 \x01(\t\x12\x13\n\x0b\x61ppCategory\x18\x02 \x01(\t\"\x99\x01\n\x17\x45ncryptedSubscriberInfo\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\t\x12\x14\n\x0c\x65ncryptedKey\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\x12\x12\n\ninitVector\x18\x04 \x01(\t\x12\x18\n\x10googleKeyVersion\x18\x05 \x01(\x05\x12\x19\n\x11\x63\x61rrierKeyVersion\x18\x06 \x01(\x05\"\xbd\x03\n\x0c\x41vailability\x12\x13\n\x0brestriction\x18\x05 \x01(\x05\x12\x11\n\tofferType\x18\x06 \x01(\x05\x12\x13\n\x04rule\x18\x07 \x01(\x0b\x32\x05.Rule\x12X\n perdeviceavailabilityrestriction\x18\t \x03(\n2..Availability.PerDeviceAvailabilityRestriction\x12\x18\n\x10\x61vailableIfOwned\x18\r \x01(\x08\x12\x19\n\x07install\x18\x0e \x03(\x0b\x32\x08.Install\x12)\n\nfilterInfo\x18\x10 \x01(\x0b\x32\x15.FilterEvaluationInfo\x12%\n\rownershipInfo\x18\x11 \x01(\x0b\x32\x0e.OwnershipInfo\x1a\x8e\x01\n PerDeviceAvailabilityRestriction\x12\x11\n\tandroidId\x18\n \x01(\x06\x12\x19\n\x11\x64\x65viceRestriction\x18\x0b \x01(\x05\x12\x11\n\tchannelId\x18\x0c \x01(\x03\x12)\n\nfilterInfo\x18\x0f \x01(\x0b\x32\x15.FilterEvaluationInfo\"?\n\x14\x46ilterEvaluationInfo\x12\'\n\x0eruleEvaluation\x18\x01 \x03(\x0b\x32\x0f.RuleEvaluation\"\xd4\x01\n\x04Rule\x12\x0e\n\x06negate\x18\x01 \x01(\x08\x12\x10\n\x08operator\x18\x02 \x01(\x05\x12\x0b\n\x03key\x18\x03 \x01(\x05\x12\x11\n\tstringArg\x18\x04 \x03(\t\x12\x0f\n\x07longArg\x18\x05 \x03(\x03\x12\x11\n\tdoubleArg\x18\x06 \x03(\x01\x12\x16\n\x07subrule\x18\x07 \x03(\x0b\x32\x05.Rule\x12\x14\n\x0cresponseCode\x18\x08 \x01(\x05\x12\x0f\n\x07\x63omment\x18\t \x01(\t\x12\x15\n\rstringArgHash\x18\n \x03(\x06\x12\x10\n\x08\x63onstArg\x18\x0b \x03(\x05\"\x8d\x01\n\x0eRuleEvaluation\x12\x13\n\x04rule\x18\x01 \x01(\x0b\x32\x05.Rule\x12\x19\n\x11\x61\x63tualStringValue\x18\x02 \x03(\t\x12\x17\n\x0f\x61\x63tualLongValue\x18\x03 \x03(\x03\x12\x17\n\x0f\x61\x63tualBoolValue\x18\x04 \x03(\x08\x12\x19\n\x11\x61\x63tualDoubleValue\x18\x05 \x03(\x01\"v\n\x11LibraryAppDetails\x12\x17\n\x0f\x63\x65rtificateHash\x18\x02 \x01(\t\x12\"\n\x1arefundTimeoutTimestampMsec\x18\x03 \x01(\x03\x12$\n\x1cpostDeliveryRefundWindowMsec\x18\x04 \x01(\x03\"D\n\x13LibraryInAppDetails\x12\x1a\n\x12signedPurchaseData\x18\x01 \x01(\t\x12\x11\n\tsignature\x18\x02 \x01(\t\"\xf0\x01\n\x0fLibraryMutation\x12\x15\n\x05\x64ocid\x18\x01 \x01(\x0b\x32\x06.Docid\x12\x11\n\tofferType\x18\x02 \x01(\x05\x12\x14\n\x0c\x64ocumentHash\x18\x03 \x01(\x03\x12\x0f\n\x07\x64\x65leted\x18\x04 \x01(\x08\x12&\n\nappDetails\x18\x05 \x01(\x0b\x32\x12.LibraryAppDetails\x12\x38\n\x13subscriptionDetails\x18\x06 \x01(\x0b\x32\x1b.LibrarySubscriptionDetails\x12*\n\x0cinAppDetails\x18\x07 \x01(\x0b\x32\x14.LibraryInAppDetails\"\x95\x01\n\x1aLibrarySubscriptionDetails\x12\x1f\n\x17initiationTimestampMsec\x18\x01 \x01(\x03\x12\x1f\n\x17validUntilTimestampMsec\x18\x02 \x01(\x03\x12\x14\n\x0c\x61utoRenewing\x18\x03 \x01(\x08\x12\x1f\n\x17trialUntilTimestampMsec\x18\x04 \x01(\x03\"\x8c\x01\n\rLibraryUpdate\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0e\n\x06\x63orpus\x18\x02 \x01(\x05\x12\x13\n\x0bserverToken\x18\x03 \x01(\x0c\x12\"\n\x08mutation\x18\x04 \x03(\x0b\x32\x10.LibraryMutation\x12\x0f\n\x07hasMore\x18\x05 \x01(\x08\x12\x11\n\tlibraryId\x18\x06 \x01(\t\"B\n\x1a\x41ndroidAppNotificationData\x12\x13\n\x0bversionCode\x18\x01 \x01(\x05\x12\x0f\n\x07\x61ssetId\x18\x02 \x01(\t\"M\n\x15InAppNotificationData\x12\x17\n\x0f\x63heckoutOrderId\x18\x01 \x01(\t\x12\x1b\n\x13inAppNotificationId\x18\x02 \x01(\t\"#\n\x10LibraryDirtyData\x12\x0f\n\x07\x62\x61\x63kend\x18\x01 \x01(\x05\"\x97\x04\n\x0cNotification\x12\x18\n\x10notificationType\x18\x01 \x01(\x05\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x15\n\x05\x64ocid\x18\x04 \x01(\x0b\x32\x06.Docid\x12\x10\n\x08\x64ocTitle\x18\x05 \x01(\t\x12\x11\n\tuserEmail\x18\x06 \x01(\t\x12,\n\x07\x61ppData\x18\x07 \x01(\x0b\x32\x1b.AndroidAppNotificationData\x12\x30\n\x0f\x61ppDeliveryData\x18\x08 \x01(\x0b\x32\x17.AndroidAppDeliveryData\x12\x31\n\x13purchaseRemovalData\x18\t \x01(\x0b\x32\x14.PurchaseRemovalData\x12\x33\n\x14userNotificationData\x18\n \x01(\x0b\x32\x15.UserNotificationData\x12\x35\n\x15inAppNotificationData\x18\x0b \x01(\x0b\x32\x16.InAppNotificationData\x12\x33\n\x14purchaseDeclinedData\x18\x0c \x01(\x0b\x32\x15.PurchaseDeclinedData\x12\x16\n\x0enotificationId\x18\r \x01(\t\x12%\n\rlibraryUpdate\x18\x0e \x01(\x0b\x32\x0e.LibraryUpdate\x12+\n\x10libraryDirtyData\x18\x0f \x01(\x0b\x32\x11.LibraryDirtyData\"@\n\x14PurchaseDeclinedData\x12\x0e\n\x06reason\x18\x01 \x01(\x05\x12\x18\n\x10showNotification\x18\x02 \x01(\x08\"(\n\x13PurchaseRemovalData\x12\x11\n\tmalicious\x18\x01 \x01(\x08\"\x88\x01\n\x14UserNotificationData\x12\x19\n\x11notificationTitle\x18\x01 \x01(\t\x12\x18\n\x10notificationText\x18\x02 \x01(\t\x12\x12\n\ntickerText\x18\x03 \x01(\t\x12\x13\n\x0b\x64ialogTitle\x18\x04 \x01(\t\x12\x12\n\ndialogText\x18\x05 \x01(\t\"\xa7\x02\n\x0f\x41ggregateRating\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x12\n\nstarRating\x18\x02 \x01(\x02\x12\x14\n\x0cratingsCount\x18\x03 \x01(\x04\x12\x16\n\x0eoneStarRatings\x18\x04 \x01(\x04\x12\x16\n\x0etwoStarRatings\x18\x05 \x01(\x04\x12\x18\n\x10threeStarRatings\x18\x06 \x01(\x04\x12\x17\n\x0f\x66ourStarRatings\x18\x07 \x01(\x04\x12\x17\n\x0f\x66iveStarRatings\x18\x08 \x01(\x04\x12\x15\n\rthumbsUpCount\x18\t \x01(\x04\x12\x17\n\x0fthumbsDownCount\x18\n \x01(\x04\x12\x14\n\x0c\x63ommentCount\x18\x0b \x01(\x04\x12\x1a\n\x12\x62\x61yesianMeanRating\x18\x0c \x01(\x01\"\x8f\x05\n\x07Payload\x12#\n\x0clistResponse\x18\x01 \x01(\x0b\x32\r.ListResponse\x12)\n\x0f\x64\x65tailsResponse\x18\x02 \x01(\x0b\x32\x10.DetailsResponse\x12\'\n\x0ereviewResponse\x18\x03 \x01(\x0b\x32\x0f.ReviewResponse\x12!\n\x0b\x62uyResponse\x18\x04 \x01(\x0b\x32\x0c.BuyResponse\x12\'\n\x0esearchResponse\x18\x05 \x01(\x0b\x32\x0f.SearchResponse\x12\'\n\x0e\x62rowseResponse\x18\x07 \x01(\x0b\x32\x0f.BrowseResponse\x12\x37\n\x16purchaseStatusResponse\x18\x08 \x01(\x0b\x32\x17.PurchaseStatusResponse\x12\x13\n\x0blogResponse\x18\n \x01(\t\x12\x31\n\x13\x62ulkDetailsResponse\x18\x13 \x01(\x0b\x32\x14.BulkDetailsResponse\x12+\n\x10\x64\x65liveryResponse\x18\x15 \x01(\x0b\x32\x11.DeliveryResponse\x12?\n\x1auploadDeviceConfigResponse\x18\x19 \x01(\x0b\x32\x1b.UploadDeviceConfigResponse\x12\x37\n\x16\x61ndroidCheckinResponse\x18\x1a \x01(\x0b\x32\x17.AndroidCheckinResponse\x12\x35\n\x15searchSuggestResponse\x18( \x01(\x0b\x32\x16.SearchSuggestResponse\x12\x37\n\x16testingProgramResponse\x18P \x01(\x0b\x32\x17.TestingProgramResponse\"g\n\x08PreFetch\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\"\n\x08response\x18\x02 \x01(\x0b\x32\x10.ResponseWrapper\x12\x0c\n\x04\x65tag\x18\x03 \x01(\t\x12\x0b\n\x03ttl\x18\x04 \x01(\x03\x12\x0f\n\x07softTtl\x18\x05 \x01(\x03\"\x91\x01\n\x0fResponseWrapper\x12\x19\n\x07payload\x18\x01 \x01(\x0b\x32\x08.Payload\x12!\n\x08\x63ommands\x18\x02 \x01(\x0b\x32\x0f.ServerCommands\x12\x1b\n\x08preFetch\x18\x03 \x03(\x0b\x32\t.PreFetch\x12#\n\x0cnotification\x18\x04 \x03(\x0b\x32\r.Notification\"]\n\x0eServerCommands\x12\x12\n\nclearCache\x18\x01 \x01(\x08\x12\x1b\n\x13\x64isplayErrorMessage\x18\x02 \x01(\t\x12\x1a\n\x12logErrorStacktrace\x18\x03 \x01(\t\"D\n\x12GetReviewsResponse\x12\x17\n\x06review\x18\x01 \x03(\x0b\x32\x07.Review\x12\x15\n\rmatchingCount\x18\x02 \x01(\x03\"\xa7\x02\n\x06Review\x12\x12\n\nauthorName\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x0e\n\x06source\x18\x03 \x01(\t\x12\x17\n\x0f\x64ocumentVersion\x18\x04 \x01(\t\x12\x15\n\rtimestampMsec\x18\x05 \x01(\x03\x12\x12\n\nstarRating\x18\x06 \x01(\x05\x12\r\n\x05title\x18\x07 \x01(\t\x12\x0f\n\x07\x63omment\x18\x08 \x01(\t\x12\x11\n\tcommentId\x18\t \x01(\t\x12\x12\n\ndeviceName\x18\x13 \x01(\t\x12\x11\n\treplyText\x18\x1d \x01(\t\x12\x1a\n\x12replyTimestampMsec\x18\x1e \x01(\x03\x12\x17\n\x06\x61uthor\x18\x1f \x01(\x0b\x32\x07.Author\x12\x19\n\x07\x61uthor2\x18! \x01(\x0b\x32\x08.Author2\"-\n\x06\x41uthor\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\x04urls\x18\x05 \x01(\x0b\x32\x07.Avatar\"\xae\x01\n\x07\x41uthor2\x12\x16\n\x0epersonIdString\x18\x01 \x01(\t\x12\x10\n\x08personId\x18\x02 \x01(\t\x12\x10\n\x08unknown1\x18\x03 \x01(\x05\x12\x10\n\x08unknown2\x18\x04 \x01(\x05\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x15\n\x04urls\x18\n \x01(\x0b\x32\x07.Avatar\x12\x15\n\rgooglePlusUrl\x18\x13 \x01(\t\x12\x19\n\x11googlePlusTagline\x18\x16 \x01(\t\"^\n\x06\x41vatar\x12\x10\n\x08unknown1\x18\x01 \x01(\x05\x12\x0b\n\x03url\x18\x05 \x01(\t\x12\x11\n\tsecureUrl\x18\x07 \x01(\t\x12\x10\n\x08unknown2\x18\t \x01(\x08\x12\x10\n\x08unknown3\x18\x16 \x01(\x08\"l\n\x0eReviewResponse\x12(\n\x0bgetResponse\x18\x01 \x01(\x0b\x32\x13.GetReviewsResponse\x12\x13\n\x0bnextPageUrl\x18\x02 \x01(\t\x12\x1b\n\nuserReview\x18\x03 \x01(\x0b\x32\x07.Review\"g\n\rRelatedSearch\x12\x11\n\tsearchUrl\x18\x01 \x01(\t\x12\x0e\n\x06header\x18\x02 \x01(\t\x12\x11\n\tbackendId\x18\x03 \x01(\x05\x12\x0f\n\x07\x64ocType\x18\x04 \x01(\x05\x12\x0f\n\x07\x63urrent\x18\x05 \x01(\x08\"\xc1\x01\n\x0eSearchResponse\x12\x15\n\roriginalQuery\x18\x01 \x01(\t\x12\x16\n\x0esuggestedQuery\x18\x02 \x01(\t\x12\x16\n\x0e\x61ggregateQuery\x18\x03 \x01(\x08\x12\x17\n\x06\x62ucket\x18\x04 \x03(\x0b\x32\x07.Bucket\x12\x13\n\x03\x64oc\x18\x05 \x03(\x0b\x32\x06.DocV2\x12%\n\rrelatedSearch\x18\x06 \x03(\x0b\x32\x0e.RelatedSearch\x12\x13\n\x0bnextPageUrl\x18\n \x01(\t\"\xa7\x01\n\x1aUserProfileResponseWrapper\x12$\n\x07payload\x18\x01 \x01(\x0b\x32\x13.UserProfilePayload\x12!\n\x08\x63ommands\x18\x02 \x01(\x0b\x32\x0f.ServerCommands\x12\x1b\n\x08preFetch\x18\x03 \x03(\x0b\x32\t.PreFetch\x12#\n\x0cnotification\x18\x04 \x03(\x0b\x32\r.Notification\"<\n\x12UserProfilePayload\x12&\n\x08response\x18\x05 \x01(\x0b\x32\x14.UserProfileResponse\"*\n\x13UserProfileResponse\x12\x13\n\x03\x64oc\x18\x01 \x03(\x0b\x32\x06.DocV2\";\n\x15SearchSuggestResponse\x12\"\n\x05\x65ntry\x18\x01 \x03(\x0b\x32\x13.SearchSuggestEntry\"\x9e\x02\n\x12SearchSuggestEntry\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x16\n\x0esuggestedQuery\x18\x02 \x01(\t\x12:\n\x0eimageContainer\x18\x05 \x01(\x0b\x32\".SearchSuggestEntry.ImageContainer\x12\r\n\x05title\x18\x06 \x01(\t\x12\x46\n\x14packageNameContainer\x18\x08 \x01(\x0b\x32(.SearchSuggestEntry.PackageNameContainer\x1a\"\n\x0eImageContainer\x12\x10\n\x08imageUrl\x18\x05 \x01(\t\x1a+\n\x14PackageNameContainer\x12\x13\n\x0bpackageName\x18\x01 \x01(\t\"?\n\x16TestingProgramResponse\x12%\n\x06result\x18\x02 \x01(\x0b\x32\x15.TestingProgramResult\"?\n\x14TestingProgramResult\x12\'\n\x07\x64\x65tails\x18\x04 \x01(\x0b\x32\x16.TestingProgramDetails\"H\n\x15TestingProgramDetails\x12\r\n\x05\x66lag1\x18\x02 \x01(\x08\x12\n\n\x02id\x18\x03 \x01(\x03\x12\x14\n\x0cunsubscribed\x18\x04 \x01(\x08\"B\n\nLogRequest\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12!\n\x19\x64ownloadConfirmationQuery\x18\x02 \x01(\t\"?\n\x15TestingProgramRequest\x12\x13\n\x0bpackageName\x18\x01 \x01(\t\x12\x11\n\tsubscribe\x18\x02 \x01(\x08\"\x84\x01\n\x19UploadDeviceConfigRequest\x12\x36\n\x13\x64\x65viceConfiguration\x18\x01 \x01(\x0b\x32\x19.DeviceConfigurationProto\x12\x14\n\x0cmanufacturer\x18\x02 \x01(\t\x12\x19\n\x11gcmRegistrationId\x18\x03 \x01(\t\"=\n\x1aUploadDeviceConfigResponse\x12\x1f\n\x17uploadDeviceConfigToken\x18\x01 \x01(\t\"\xe7\x03\n\x15\x41ndroidCheckinRequest\x12\x0c\n\x04imei\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\x03\x12\x0e\n\x06\x64igest\x18\x03 \x01(\t\x12%\n\x07\x63heckin\x18\x04 \x01(\x0b\x32\x14.AndroidCheckinProto\x12\x14\n\x0c\x64\x65siredBuild\x18\x05 \x01(\t\x12\x0e\n\x06locale\x18\x06 \x01(\t\x12\x11\n\tloggingId\x18\x07 \x01(\x03\x12\x15\n\rmarketCheckin\x18\x08 \x01(\t\x12\x0f\n\x07macAddr\x18\t \x03(\t\x12\x0c\n\x04meid\x18\n \x01(\t\x12\x15\n\raccountCookie\x18\x0b \x03(\t\x12\x10\n\x08timeZone\x18\x0c \x01(\t\x12\x15\n\rsecurityToken\x18\r \x01(\x06\x12\x0f\n\x07version\x18\x0e \x01(\x05\x12\x0f\n\x07otaCert\x18\x0f \x03(\t\x12\x14\n\x0cserialNumber\x18\x10 \x01(\t\x12\x0b\n\x03\x65sn\x18\x11 \x01(\t\x12\x36\n\x13\x64\x65viceConfiguration\x18\x12 \x01(\x0b\x32\x19.DeviceConfigurationProto\x12\x13\n\x0bmacAddrType\x18\x13 \x03(\t\x12\x10\n\x08\x66ragment\x18\x14 \x01(\x05\x12\x10\n\x08userName\x18\x15 \x01(\t\x12\x18\n\x10userSerialNumber\x18\x16 \x01(\x05\"\xfd\x01\n\x16\x41ndroidCheckinResponse\x12\x0f\n\x07statsOk\x18\x01 \x01(\x08\x12#\n\x06intent\x18\x02 \x03(\x0b\x32\x13.AndroidIntentProto\x12\x10\n\x08timeMsec\x18\x03 \x01(\x03\x12\x0e\n\x06\x64igest\x18\x04 \x01(\t\x12\"\n\x07setting\x18\x05 \x03(\x0b\x32\x11.GservicesSetting\x12\x10\n\x08marketOk\x18\x06 \x01(\x08\x12\x11\n\tandroidId\x18\x07 \x01(\x06\x12\x15\n\rsecurityToken\x18\x08 \x01(\x06\x12\x14\n\x0csettingsDiff\x18\t \x01(\x08\x12\x15\n\rdeleteSetting\x18\n \x03(\t\"/\n\x10GservicesSetting\x12\x0c\n\x04name\x18\x01 \x01(\x0c\x12\r\n\x05value\x18\x02 \x01(\x0c\"\x94\x02\n\x11\x41ndroidBuildProto\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07product\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61rrier\x18\x03 \x01(\t\x12\r\n\x05radio\x18\x04 \x01(\t\x12\x12\n\nbootloader\x18\x05 \x01(\t\x12\x0e\n\x06\x63lient\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\x03\x12\x16\n\x0egoogleServices\x18\x08 \x01(\x05\x12\x0e\n\x06\x64\x65vice\x18\t \x01(\t\x12\x12\n\nsdkVersion\x18\n \x01(\x05\x12\r\n\x05model\x18\x0b \x01(\t\x12\x14\n\x0cmanufacturer\x18\x0c \x01(\t\x12\x14\n\x0c\x62uildProduct\x18\r \x01(\t\x12\x14\n\x0cotaInstalled\x18\x0e \x01(\x08\"\x82\x02\n\x13\x41ndroidCheckinProto\x12!\n\x05\x62uild\x18\x01 \x01(\x0b\x32\x12.AndroidBuildProto\x12\x17\n\x0flastCheckinMsec\x18\x02 \x01(\x03\x12!\n\x05\x65vent\x18\x03 \x03(\x0b\x32\x12.AndroidEventProto\x12$\n\x04stat\x18\x04 \x03(\x0b\x32\x16.AndroidStatisticProto\x12\x16\n\x0erequestedGroup\x18\x05 \x03(\t\x12\x14\n\x0c\x63\x65llOperator\x18\x06 \x01(\t\x12\x13\n\x0bsimOperator\x18\x07 \x01(\t\x12\x0f\n\x07roaming\x18\x08 \x01(\t\x12\x12\n\nuserNumber\x18\t \x01(\x05\"A\n\x11\x41ndroidEventProto\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\x10\n\x08timeMsec\x18\x03 \x01(\x03\"\xaa\x01\n\x12\x41ndroidIntentProto\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x0f\n\x07\x64\x61taUri\x18\x02 \x01(\t\x12\x10\n\x08mimeType\x18\x03 \x01(\t\x12\x11\n\tjavaClass\x18\x04 \x01(\t\x12(\n\x05\x65xtra\x18\x05 \x03(\n2\x19.AndroidIntentProto.Extra\x1a$\n\x05\x45xtra\x12\x0c\n\x04name\x18\x06 \x01(\t\x12\r\n\x05value\x18\x07 \x01(\t\"@\n\x15\x41ndroidStatisticProto\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\x12\x0b\n\x03sum\x18\x03 \x01(\x02\"v\n\x12\x43lientLibraryState\x12\x0e\n\x06\x63orpus\x18\x01 \x01(\x05\x12\x13\n\x0bserverToken\x18\x02 \x01(\x0c\x12\x13\n\x0bhashCodeSum\x18\x03 \x01(\x03\x12\x13\n\x0blibrarySize\x18\x04 \x01(\x05\x12\x11\n\tlibraryId\x18\x05 \x01(\t\"\xe2\x01\n\x15\x41ndroidDataUsageProto\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x19\n\x11\x63urrentReportMsec\x18\x02 \x01(\x03\x12\x39\n\x17keyToPackageNameMapping\x18\x03 \x03(\x0b\x32\x18.KeyToPackageNameMapping\x12\x31\n\x13payloadLevelAppStat\x18\x04 \x03(\x0b\x32\x14.PayloadLevelAppStat\x12/\n\x12ipLayerNetworkStat\x18\x05 \x03(\x0b\x32\x13.IpLayerNetworkStat\"n\n\x17\x41ndroidUsageStatsReport\x12\x11\n\tandroidId\x18\x01 \x01(\x03\x12\x11\n\tloggingId\x18\x02 \x01(\x03\x12-\n\nusageStats\x18\x03 \x01(\x0b\x32\x19.UsageStatsExtensionProto\"}\n\tAppBucket\x12\x17\n\x0f\x62ucketStartMsec\x18\x01 \x01(\x03\x12\x1a\n\x12\x62ucketDurationMsec\x18\x02 \x01(\x03\x12#\n\x0cstatCounters\x18\x03 \x03(\x0b\x32\r.StatCounters\x12\x16\n\x0eoperationCount\x18\x04 \x01(\x03\"-\n\x0b\x43ounterData\x12\r\n\x05\x62ytes\x18\x01 \x01(\x03\x12\x0f\n\x07packets\x18\x02 \x01(\x03\"b\n\x0eIpLayerAppStat\x12\x12\n\npackageKey\x18\x01 \x01(\x05\x12\x16\n\x0e\x61pplicationTag\x18\x02 \x01(\x05\x12$\n\x10ipLayerAppBucket\x18\x03 \x03(\x0b\x32\n.AppBucket\"\x8f\x01\n\x14IpLayerNetworkBucket\x12\x17\n\x0f\x62ucketStartMsec\x18\x01 \x01(\x03\x12\x1a\n\x12\x62ucketDurationMsec\x18\x02 \x01(\x03\x12#\n\x0cstatCounters\x18\x03 \x03(\x0b\x32\r.StatCounters\x12\x1d\n\x15networkActiveDuration\x18\x04 \x01(\x03\"\x98\x01\n\x12IpLayerNetworkStat\x12\x16\n\x0enetworkDetails\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x33\n\x14ipLayerNetworkBucket\x18\x03 \x03(\x0b\x32\x15.IpLayerNetworkBucket\x12\'\n\x0eipLayerAppStat\x18\x04 \x03(\x0b\x32\x0f.IpLayerAppStat\"g\n\x17KeyToPackageNameMapping\x12\x12\n\npackageKey\x18\x01 \x01(\x05\x12\x0f\n\x07uidName\x18\x02 \x01(\t\x12\'\n\x11sharedPackageList\x18\x03 \x03(\x0b\x32\x0c.PackageInfo\"3\n\x0bPackageInfo\x12\x0f\n\x07pkgName\x18\x01 \x01(\t\x12\x13\n\x0bversionCode\x18\x02 \x01(\x05\"l\n\x13PayloadLevelAppStat\x12\x12\n\npackageKey\x18\x01 \x01(\x05\x12\x16\n\x0e\x61pplicationTag\x18\x02 \x01(\x05\x12)\n\x15payloadLevelAppBucket\x18\x03 \x03(\x0b\x32\n.AppBucket\"h\n\x0cStatCounters\x12\x14\n\x0cnetworkProto\x18\x01 \x01(\x05\x12\x11\n\tdirection\x18\x02 \x01(\x05\x12!\n\x0b\x63ounterData\x18\x03 \x01(\x0b\x32\x0c.CounterData\x12\x0c\n\x04\x66gBg\x18\x04 \x01(\x05\"E\n\x18UsageStatsExtensionProto\x12)\n\tdataUsage\x18\x01 \x01(\x0b\x32\x16.AndroidDataUsageProto\"l\n\rSearchCluster\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04int1\x18\x03 \x01(\x03\x12\x0c\n\x04int2\x18\x04 \x01(\x03\x12\x10\n\x08\x63\x61tegory\x18\x05 \x01(\t\x12\x13\n\x03\x64oc\x18\x0b \x03(\x0b\x32\x06.DocV2') ) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -124,6 +124,7 @@ _ANDROIDAPPDELIVERYDATA = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -182,6 +183,7 @@ _ANDROIDAPPPATCHDATA = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -233,6 +235,7 @@ _APPFILEMETADATA = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -277,6 +280,7 @@ _ENCRYPTIONPARAMS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -314,6 +318,7 @@ _HTTPCOOKIE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -442,6 +447,7 @@ _ADDRESS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -486,6 +492,7 @@ _BOOKAUTHOR = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -523,6 +530,7 @@ _BOOKDETAILS_IDENTIFIER = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -657,6 +665,7 @@ _BOOKDETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -701,6 +710,7 @@ _BOOKSUBJECT = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -752,6 +762,7 @@ _BROWSELINK = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -782,6 +793,7 @@ _UNKNOWNCATEGORYCONTAINER = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -812,6 +824,7 @@ _CATEGORYIDCONTAINER = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -870,6 +883,7 @@ _BROWSERESPONSE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -900,6 +914,7 @@ _CATEGORYCONTAINER = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -986,6 +1001,7 @@ _ADDRESSCHALLENGE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1058,6 +1074,7 @@ _AUTHENTICATIONCHALLENGE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1186,6 +1203,7 @@ _BUYRESPONSE_CHECKOUTINFO_CHECKOUTOPTION = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1271,6 +1289,7 @@ _BUYRESPONSE_CHECKOUTINFO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1384,6 +1403,7 @@ _BUYRESPONSE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1421,6 +1441,7 @@ _CHALLENGE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1465,6 +1486,7 @@ _FORMCHECKBOX = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1516,6 +1538,7 @@ _LINEITEM = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1560,6 +1583,7 @@ _MONEY = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1611,6 +1635,7 @@ _PURCHASENOTIFICATIONRESPONSE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1690,6 +1715,7 @@ _PURCHASESTATUSRESPONSE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1720,6 +1746,7 @@ _DELIVERYRESPONSE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1764,6 +1791,7 @@ _DOCID = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1808,6 +1836,7 @@ _INSTALL = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1929,6 +1958,7 @@ _OFFER = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1987,6 +2017,7 @@ _OWNERSHIPINFO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2024,6 +2055,7 @@ _RENTALTERMS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2061,6 +2093,7 @@ _SUBSCRIPTIONTERMS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2098,6 +2131,7 @@ _TIMEPERIOD = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2135,6 +2169,7 @@ _BILLINGADDRESSSPEC = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2172,6 +2207,7 @@ _CARRIERBILLINGCREDENTIALS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2251,6 +2287,7 @@ _CARRIERBILLINGINSTRUMENT = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2316,6 +2353,7 @@ _CARRIERBILLINGINSTRUMENTSTATUS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2367,6 +2405,7 @@ _CARRIERTOS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2404,6 +2443,7 @@ _CARRIERTOSENTRY = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2469,6 +2509,7 @@ _CREDITCARDINSTRUMENT = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2506,6 +2547,7 @@ _EFEPARAM = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2543,6 +2585,7 @@ _INPUTVALIDATIONERROR = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2622,6 +2665,7 @@ _INSTRUMENT = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2659,6 +2703,7 @@ _PASSWORDPROMPT = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2691,7 +2736,7 @@ _CONTAINERMETADATA = _descriptor.Descriptor( _descriptor.FieldDescriptor( name='relevance', full_name='ContainerMetadata.relevance', index=2, number=3, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=0, + has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), @@ -2724,6 +2769,7 @@ _CONTAINERMETADATA = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2749,7 +2795,7 @@ _DEBUGINFO_TIMING = _descriptor.Descriptor( _descriptor.FieldDescriptor( name='timeInMs', full_name='DebugInfo.Timing.timeInMs', index=1, number=4, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=0, + has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), @@ -2761,6 +2807,7 @@ _DEBUGINFO_TIMING = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2797,6 +2844,7 @@ _DEBUGINFO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2827,6 +2875,7 @@ _BULKDETAILSENTRY = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2864,6 +2913,7 @@ _BULKDETAILSREQUEST = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2894,6 +2944,7 @@ _BULKDETAILSRESPONSE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2959,6 +3010,7 @@ _DETAILSRESPONSE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2996,6 +3048,7 @@ _BADGE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -3138,6 +3191,7 @@ _DEVICECONFIGURATIONPROTO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -3287,6 +3341,7 @@ _DOCUMENT = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -3380,6 +3435,7 @@ _DOCUMENTVARIANT = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -3417,6 +3473,7 @@ _IMAGE_DIMENSION = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -3453,6 +3510,7 @@ _IMAGE_CITATION = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -3538,6 +3596,7 @@ _IMAGE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -3582,6 +3641,7 @@ _TRANSLATEDTEXT = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -3633,6 +3693,7 @@ _PLUSONEDATA = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -3670,6 +3731,7 @@ _PLUSPERSON = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -3714,6 +3776,7 @@ _ALBUMDETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -3891,6 +3954,7 @@ _APPDETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -3942,6 +4006,7 @@ _DEPENDENCIES = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -3986,6 +4051,7 @@ _DEPENDENCY = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4030,6 +4096,7 @@ _TESTINGPROGRAMINFO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4060,6 +4127,7 @@ _EARLYACCESSINFO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4104,6 +4172,7 @@ _ARTISTDETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4148,6 +4217,7 @@ _ARTISTEXTERNALLINKS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4248,6 +4318,7 @@ _DOCUMENTDETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4292,6 +4363,7 @@ _FILEMETADATA = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4343,6 +4415,7 @@ _MAGAZINEDETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4422,6 +4495,7 @@ _MUSICDETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4487,6 +4561,7 @@ _SONGDETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4517,6 +4592,7 @@ _SUBSCRIPTIONDETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4575,6 +4651,7 @@ _TRAILER = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4619,6 +4696,7 @@ _TVEPISODEDETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4670,6 +4748,7 @@ _TVSEASONDETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4721,6 +4800,7 @@ _TVSHOWDETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4765,6 +4845,7 @@ _VIDEOCREDIT = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4851,6 +4932,7 @@ _VIDEODETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4888,6 +4970,7 @@ _VIDEORENTALTERM_TERM = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4938,6 +5021,7 @@ _VIDEORENTALTERM = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -4991,7 +5075,7 @@ _BUCKET = _descriptor.Descriptor( _descriptor.FieldDescriptor( name='relevance', full_name='Bucket.relevance', index=5, number=6, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=0, + has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), @@ -5038,6 +5122,7 @@ _BUCKET = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -5075,6 +5160,7 @@ _LISTRESPONSE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -5217,6 +5303,7 @@ _DOCV1 = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -5401,6 +5488,7 @@ _DOCV2 = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -5431,6 +5519,7 @@ _UNKNOWN25 = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -5468,6 +5557,7 @@ _UNKNOWN25ITEM = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -5498,6 +5588,7 @@ _UNKNOWN25CONTAINER = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -5563,6 +5654,7 @@ _RELATEDLINKS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -5593,6 +5685,7 @@ _RELATEDLINKSUNKNOWN1 = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -5623,6 +5716,7 @@ _RELATEDLINKSUNKNOWN2 = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -5667,6 +5761,7 @@ _RATED = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -5711,6 +5806,7 @@ _RELATEDLINK = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -5748,6 +5844,7 @@ _CATEGORYINFO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -5813,6 +5910,7 @@ _ENCRYPTEDSUBSCRIBERINFO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -5864,6 +5962,7 @@ _AVAILABILITY_PERDEVICEAVAILABILITYRESTRICTION = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -5942,6 +6041,7 @@ _AVAILABILITY = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -5972,6 +6072,7 @@ _FILTEREVALUATIONINFO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -6072,6 +6173,7 @@ _RULE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -6130,6 +6232,7 @@ _RULEEVALUATION = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -6174,6 +6277,7 @@ _LIBRARYAPPDETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -6211,6 +6315,7 @@ _LIBRARYINAPPDETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -6283,6 +6388,7 @@ _LIBRARYMUTATION = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -6334,6 +6440,7 @@ _LIBRARYSUBSCRIPTIONDETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -6399,6 +6506,7 @@ _LIBRARYUPDATE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -6436,6 +6544,7 @@ _ANDROIDAPPNOTIFICATIONDATA = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -6473,6 +6582,7 @@ _INAPPNOTIFICATIONDATA = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -6503,6 +6613,7 @@ _LIBRARYDIRTYDATA = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -6624,6 +6735,7 @@ _NOTIFICATION = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -6661,6 +6773,7 @@ _PURCHASEDECLINEDDATA = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -6691,6 +6804,7 @@ _PURCHASEREMOVALDATA = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -6749,6 +6863,7 @@ _USERNOTIFICATIONDATA = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -6774,7 +6889,7 @@ _AGGREGATERATING = _descriptor.Descriptor( _descriptor.FieldDescriptor( name='starRating', full_name='AggregateRating.starRating', index=1, number=2, type=2, cpp_type=6, label=1, - has_default_value=False, default_value=0, + has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), @@ -6844,7 +6959,7 @@ _AGGREGATERATING = _descriptor.Descriptor( _descriptor.FieldDescriptor( name='bayesianMeanRating', full_name='AggregateRating.bayesianMeanRating', index=11, number=12, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=0, + has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), @@ -6856,6 +6971,7 @@ _AGGREGATERATING = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -6977,6 +7093,7 @@ _PAYLOAD = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -7035,6 +7152,7 @@ _PREFETCH = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -7086,6 +7204,7 @@ _RESPONSEWRAPPER = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -7130,6 +7249,7 @@ _SERVERCOMMANDS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -7167,6 +7287,7 @@ _GETREVIEWSRESPONSE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -7288,6 +7409,7 @@ _REVIEW = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -7325,6 +7447,7 @@ _AUTHOR = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -7404,6 +7527,7 @@ _AUTHOR2 = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -7462,6 +7586,7 @@ _AVATAR = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -7506,6 +7631,7 @@ _REVIEWRESPONSE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -7564,6 +7690,7 @@ _RELATEDSEARCH = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -7636,6 +7763,7 @@ _SEARCHRESPONSE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -7644,6 +7772,120 @@ _SEARCHRESPONSE = _descriptor.Descriptor( ) +_USERPROFILERESPONSEWRAPPER = _descriptor.Descriptor( + name='UserProfileResponseWrapper', + full_name='UserProfileResponseWrapper', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='payload', full_name='UserProfileResponseWrapper.payload', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='commands', full_name='UserProfileResponseWrapper.commands', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='preFetch', full_name='UserProfileResponseWrapper.preFetch', index=2, + number=3, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='notification', full_name='UserProfileResponseWrapper.notification', index=3, + number=4, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19651, + serialized_end=19818, +) + + +_USERPROFILEPAYLOAD = _descriptor.Descriptor( + name='UserProfilePayload', + full_name='UserProfilePayload', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='response', full_name='UserProfilePayload.response', index=0, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19820, + serialized_end=19880, +) + + +_USERPROFILERESPONSE = _descriptor.Descriptor( + name='UserProfileResponse', + full_name='UserProfileResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='doc', full_name='UserProfileResponse.doc', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19882, + serialized_end=19924, +) + + _SEARCHSUGGESTRESPONSE = _descriptor.Descriptor( name='SearchSuggestResponse', full_name='SearchSuggestResponse', @@ -7666,11 +7908,12 @@ _SEARCHSUGGESTRESPONSE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=19650, - serialized_end=19709, + serialized_start=19926, + serialized_end=19985, ) @@ -7696,11 +7939,12 @@ _SEARCHSUGGESTENTRY_IMAGECONTAINER = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=19919, - serialized_end=19953, + serialized_start=20195, + serialized_end=20229, ) _SEARCHSUGGESTENTRY_PACKAGENAMECONTAINER = _descriptor.Descriptor( @@ -7725,11 +7969,12 @@ _SEARCHSUGGESTENTRY_PACKAGENAMECONTAINER = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=19955, - serialized_end=19998, + serialized_start=20231, + serialized_end=20274, ) _SEARCHSUGGESTENTRY = _descriptor.Descriptor( @@ -7782,11 +8027,12 @@ _SEARCHSUGGESTENTRY = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=19712, - serialized_end=19998, + serialized_start=19988, + serialized_end=20274, ) @@ -7812,11 +8058,12 @@ _TESTINGPROGRAMRESPONSE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=20000, - serialized_end=20063, + serialized_start=20276, + serialized_end=20339, ) @@ -7842,11 +8089,12 @@ _TESTINGPROGRAMRESULT = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=20065, - serialized_end=20128, + serialized_start=20341, + serialized_end=20404, ) @@ -7886,11 +8134,12 @@ _TESTINGPROGRAMDETAILS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=20130, - serialized_end=20202, + serialized_start=20406, + serialized_end=20478, ) @@ -7923,11 +8172,12 @@ _LOGREQUEST = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=20204, - serialized_end=20270, + serialized_start=20480, + serialized_end=20546, ) @@ -7960,11 +8210,12 @@ _TESTINGPROGRAMREQUEST = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=20272, - serialized_end=20335, + serialized_start=20548, + serialized_end=20611, ) @@ -8004,11 +8255,12 @@ _UPLOADDEVICECONFIGREQUEST = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=20338, - serialized_end=20470, + serialized_start=20614, + serialized_end=20746, ) @@ -8034,11 +8286,12 @@ _UPLOADDEVICECONFIGRESPONSE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=20472, - serialized_end=20533, + serialized_start=20748, + serialized_end=20809, ) @@ -8211,11 +8464,12 @@ _ANDROIDCHECKINREQUEST = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=20536, - serialized_end=21023, + serialized_start=20812, + serialized_end=21299, ) @@ -8304,11 +8558,12 @@ _ANDROIDCHECKINRESPONSE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=21026, - serialized_end=21279, + serialized_start=21302, + serialized_end=21555, ) @@ -8341,11 +8596,12 @@ _GSERVICESSETTING = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=21281, - serialized_end=21328, + serialized_start=21557, + serialized_end=21604, ) @@ -8462,11 +8718,12 @@ _ANDROIDBUILDPROTO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=21331, - serialized_end=21607, + serialized_start=21607, + serialized_end=21883, ) @@ -8548,11 +8805,12 @@ _ANDROIDCHECKINPROTO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=21610, - serialized_end=21868, + serialized_start=21886, + serialized_end=22144, ) @@ -8592,11 +8850,12 @@ _ANDROIDEVENTPROTO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=21870, - serialized_end=21935, + serialized_start=22146, + serialized_end=22211, ) @@ -8629,11 +8888,12 @@ _ANDROIDINTENTPROTO_EXTRA = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=22072, - serialized_end=22108, + serialized_start=22348, + serialized_end=22384, ) _ANDROIDINTENTPROTO = _descriptor.Descriptor( @@ -8686,11 +8946,12 @@ _ANDROIDINTENTPROTO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=21938, - serialized_end=22108, + serialized_start=22214, + serialized_end=22384, ) @@ -8718,7 +8979,7 @@ _ANDROIDSTATISTICPROTO = _descriptor.Descriptor( _descriptor.FieldDescriptor( name='sum', full_name='AndroidStatisticProto.sum', index=2, number=3, type=2, cpp_type=6, label=1, - has_default_value=False, default_value=0, + has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), @@ -8730,11 +8991,12 @@ _ANDROIDSTATISTICPROTO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=22110, - serialized_end=22174, + serialized_start=22386, + serialized_end=22450, ) @@ -8788,11 +9050,12 @@ _CLIENTLIBRARYSTATE = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=22176, - serialized_end=22294, + serialized_start=22452, + serialized_end=22570, ) @@ -8846,11 +9109,12 @@ _ANDROIDDATAUSAGEPROTO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=22297, - serialized_end=22523, + serialized_start=22573, + serialized_end=22799, ) @@ -8890,11 +9154,12 @@ _ANDROIDUSAGESTATSREPORT = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=22525, - serialized_end=22635, + serialized_start=22801, + serialized_end=22911, ) @@ -8941,11 +9206,12 @@ _APPBUCKET = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=22637, - serialized_end=22762, + serialized_start=22913, + serialized_end=23038, ) @@ -8978,11 +9244,12 @@ _COUNTERDATA = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=22764, - serialized_end=22809, + serialized_start=23040, + serialized_end=23085, ) @@ -9022,11 +9289,12 @@ _IPLAYERAPPSTAT = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=22811, - serialized_end=22909, + serialized_start=23087, + serialized_end=23185, ) @@ -9073,11 +9341,12 @@ _IPLAYERNETWORKBUCKET = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=22912, - serialized_end=23055, + serialized_start=23188, + serialized_end=23331, ) @@ -9124,11 +9393,12 @@ _IPLAYERNETWORKSTAT = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=23058, - serialized_end=23210, + serialized_start=23334, + serialized_end=23486, ) @@ -9168,11 +9438,12 @@ _KEYTOPACKAGENAMEMAPPING = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=23212, - serialized_end=23315, + serialized_start=23488, + serialized_end=23591, ) @@ -9205,11 +9476,12 @@ _PACKAGEINFO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=23317, - serialized_end=23368, + serialized_start=23593, + serialized_end=23644, ) @@ -9249,11 +9521,12 @@ _PAYLOADLEVELAPPSTAT = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=23370, - serialized_end=23478, + serialized_start=23646, + serialized_end=23754, ) @@ -9300,11 +9573,12 @@ _STATCOUNTERS = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=23480, - serialized_end=23584, + serialized_start=23756, + serialized_end=23860, ) @@ -9330,11 +9604,12 @@ _USAGESTATSEXTENSIONPROTO = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=23586, - serialized_end=23655, + serialized_start=23862, + serialized_end=23931, ) @@ -9395,11 +9670,12 @@ _SEARCHCLUSTER = _descriptor.Descriptor( ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=23657, - serialized_end=23765, + serialized_start=23933, + serialized_end=24041, ) _ANDROIDAPPDELIVERYDATA.fields_by_name['additionalFile'].message_type = _APPFILEMETADATA @@ -9597,6 +9873,12 @@ _REVIEWRESPONSE.fields_by_name['userReview'].message_type = _REVIEW _SEARCHRESPONSE.fields_by_name['bucket'].message_type = _BUCKET _SEARCHRESPONSE.fields_by_name['doc'].message_type = _DOCV2 _SEARCHRESPONSE.fields_by_name['relatedSearch'].message_type = _RELATEDSEARCH +_USERPROFILERESPONSEWRAPPER.fields_by_name['payload'].message_type = _USERPROFILEPAYLOAD +_USERPROFILERESPONSEWRAPPER.fields_by_name['commands'].message_type = _SERVERCOMMANDS +_USERPROFILERESPONSEWRAPPER.fields_by_name['preFetch'].message_type = _PREFETCH +_USERPROFILERESPONSEWRAPPER.fields_by_name['notification'].message_type = _NOTIFICATION +_USERPROFILEPAYLOAD.fields_by_name['response'].message_type = _USERPROFILERESPONSE +_USERPROFILERESPONSE.fields_by_name['doc'].message_type = _DOCV2 _SEARCHSUGGESTRESPONSE.fields_by_name['entry'].message_type = _SEARCHSUGGESTENTRY _SEARCHSUGGESTENTRY_IMAGECONTAINER.containing_type = _SEARCHSUGGESTENTRY _SEARCHSUGGESTENTRY_PACKAGENAMECONTAINER.containing_type = _SEARCHSUGGESTENTRY @@ -9748,6 +10030,9 @@ DESCRIPTOR.message_types_by_name['Avatar'] = _AVATAR DESCRIPTOR.message_types_by_name['ReviewResponse'] = _REVIEWRESPONSE DESCRIPTOR.message_types_by_name['RelatedSearch'] = _RELATEDSEARCH DESCRIPTOR.message_types_by_name['SearchResponse'] = _SEARCHRESPONSE +DESCRIPTOR.message_types_by_name['UserProfileResponseWrapper'] = _USERPROFILERESPONSEWRAPPER +DESCRIPTOR.message_types_by_name['UserProfilePayload'] = _USERPROFILEPAYLOAD +DESCRIPTOR.message_types_by_name['UserProfileResponse'] = _USERPROFILERESPONSE DESCRIPTOR.message_types_by_name['SearchSuggestResponse'] = _SEARCHSUGGESTRESPONSE DESCRIPTOR.message_types_by_name['SearchSuggestEntry'] = _SEARCHSUGGESTENTRY DESCRIPTOR.message_types_by_name['TestingProgramResponse'] = _TESTINGPROGRAMRESPONSE @@ -9779,6 +10064,7 @@ DESCRIPTOR.message_types_by_name['PayloadLevelAppStat'] = _PAYLOADLEVELAPPSTAT DESCRIPTOR.message_types_by_name['StatCounters'] = _STATCOUNTERS DESCRIPTOR.message_types_by_name['UsageStatsExtensionProto'] = _USAGESTATSEXTENSIONPROTO DESCRIPTOR.message_types_by_name['SearchCluster'] = _SEARCHCLUSTER +_sym_db.RegisterFileDescriptor(DESCRIPTOR) AndroidAppDeliveryData = _reflection.GeneratedProtocolMessageType('AndroidAppDeliveryData', (_message.Message,), dict( DESCRIPTOR = _ANDROIDAPPDELIVERYDATA, @@ -10684,6 +10970,27 @@ SearchResponse = _reflection.GeneratedProtocolMessageType('SearchResponse', (_me )) _sym_db.RegisterMessage(SearchResponse) +UserProfileResponseWrapper = _reflection.GeneratedProtocolMessageType('UserProfileResponseWrapper', (_message.Message,), dict( + DESCRIPTOR = _USERPROFILERESPONSEWRAPPER, + __module__ = 'googleplay_pb2' + # @@protoc_insertion_point(class_scope:UserProfileResponseWrapper) + )) +_sym_db.RegisterMessage(UserProfileResponseWrapper) + +UserProfilePayload = _reflection.GeneratedProtocolMessageType('UserProfilePayload', (_message.Message,), dict( + DESCRIPTOR = _USERPROFILEPAYLOAD, + __module__ = 'googleplay_pb2' + # @@protoc_insertion_point(class_scope:UserProfilePayload) + )) +_sym_db.RegisterMessage(UserProfilePayload) + +UserProfileResponse = _reflection.GeneratedProtocolMessageType('UserProfileResponse', (_message.Message,), dict( + DESCRIPTOR = _USERPROFILERESPONSE, + __module__ = 'googleplay_pb2' + # @@protoc_insertion_point(class_scope:UserProfileResponse) + )) +_sym_db.RegisterMessage(UserProfileResponse) + SearchSuggestResponse = _reflection.GeneratedProtocolMessageType('SearchSuggestResponse', (_message.Message,), dict( DESCRIPTOR = _SEARCHSUGGESTRESPONSE, __module__ = 'googleplay_pb2'