{
  "nested": {
    "google": {
      "nested": {
        "cloud": {
          "nested": {
            "retail": {
              "nested": {
                "v2": {
                  "options": {
                    "csharp_namespace": "Google.Cloud.Retail.V2",
                    "go_package": "cloud.google.com/go/retail/apiv2/retailpb;retailpb",
                    "java_multiple_files": true,
                    "java_outer_classname": "UserEventServiceProto",
                    "java_package": "com.google.cloud.retail.v2",
                    "objc_class_prefix": "RETAIL",
                    "php_namespace": "Google\\Cloud\\Retail\\V2",
                    "ruby_package": "Google::Cloud::Retail::V2",
                    "(google.api.resource_definition).type": "retail.googleapis.com/Experiment",
                    "(google.api.resource_definition).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/experiments/{experiment}"
                  },
                  "nested": {
                    "AnalyticsService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "ExportAnalyticsMetrics": {
                          "requestType": "ExportAnalyticsMetricsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2/{catalog=projects/*/locations/*/catalogs/*}:exportAnalyticsMetrics",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2.ExportAnalyticsMetricsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2.ExportMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{catalog=projects/*/locations/*/catalogs/*}:exportAnalyticsMetrics",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2.ExportAnalyticsMetricsResponse",
                                "metadata_type": "google.cloud.retail.v2.ExportMetadata"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "OutputConfig": {
                      "oneofs": {
                        "destination": {
                          "oneof": [
                            "gcsDestination",
                            "bigqueryDestination"
                          ]
                        }
                      },
                      "fields": {
                        "gcsDestination": {
                          "type": "GcsDestination",
                          "id": 1
                        },
                        "bigqueryDestination": {
                          "type": "BigQueryDestination",
                          "id": 2
                        }
                      },
                      "nested": {
                        "GcsDestination": {
                          "fields": {
                            "outputUriPrefix": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        },
                        "BigQueryDestination": {
                          "fields": {
                            "datasetId": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "tableIdPrefix": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "tableType": {
                              "type": "string",
                              "id": 3,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        }
                      }
                    },
                    "ExportErrorsConfig": {
                      "oneofs": {
                        "destination": {
                          "oneof": [
                            "gcsPrefix"
                          ]
                        }
                      },
                      "fields": {
                        "gcsPrefix": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "ExportAnalyticsMetricsRequest": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "outputConfig": {
                          "type": "OutputConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ExportMetadata": {
                      "fields": {
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 1
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2
                        }
                      }
                    },
                    "ExportAnalyticsMetricsResponse": {
                      "fields": {
                        "errorSamples": {
                          "rule": "repeated",
                          "type": "google.rpc.Status",
                          "id": 1
                        },
                        "errorsConfig": {
                          "type": "ExportErrorsConfig",
                          "id": 2
                        },
                        "outputResult": {
                          "type": "OutputResult",
                          "id": 3
                        }
                      }
                    },
                    "OutputResult": {
                      "fields": {
                        "bigqueryResult": {
                          "rule": "repeated",
                          "type": "BigQueryOutputResult",
                          "id": 1
                        },
                        "gcsResult": {
                          "rule": "repeated",
                          "type": "GcsOutputResult",
                          "id": 2
                        }
                      }
                    },
                    "BigQueryOutputResult": {
                      "fields": {
                        "datasetId": {
                          "type": "string",
                          "id": 1
                        },
                        "tableId": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "GcsOutputResult": {
                      "fields": {
                        "outputUri": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "ProductLevelConfig": {
                      "fields": {
                        "ingestionProductType": {
                          "type": "string",
                          "id": 1
                        },
                        "merchantCenterProductIdField": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "CatalogAttribute": {
                      "fields": {
                        "key": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "inUse": {
                          "type": "bool",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "type": {
                          "type": "AttributeType",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "indexableOption": {
                          "type": "IndexableOption",
                          "id": 5
                        },
                        "dynamicFacetableOption": {
                          "type": "DynamicFacetableOption",
                          "id": 6
                        },
                        "searchableOption": {
                          "type": "SearchableOption",
                          "id": 7
                        },
                        "exactSearchableOption": {
                          "type": "ExactSearchableOption",
                          "id": 11
                        },
                        "retrievableOption": {
                          "type": "RetrievableOption",
                          "id": 12
                        },
                        "facetConfig": {
                          "type": "FacetConfig",
                          "id": 13
                        }
                      },
                      "nested": {
                        "FacetConfig": {
                          "fields": {
                            "facetIntervals": {
                              "rule": "repeated",
                              "type": "Interval",
                              "id": 1
                            },
                            "ignoredFacetValues": {
                              "rule": "repeated",
                              "type": "IgnoredFacetValues",
                              "id": 2
                            },
                            "mergedFacetValues": {
                              "rule": "repeated",
                              "type": "MergedFacetValue",
                              "id": 3
                            },
                            "mergedFacet": {
                              "type": "MergedFacet",
                              "id": 4
                            },
                            "rerankConfig": {
                              "type": "RerankConfig",
                              "id": 5
                            }
                          },
                          "nested": {
                            "IgnoredFacetValues": {
                              "fields": {
                                "values": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 1
                                },
                                "startTime": {
                                  "type": "google.protobuf.Timestamp",
                                  "id": 2
                                },
                                "endTime": {
                                  "type": "google.protobuf.Timestamp",
                                  "id": 3
                                }
                              }
                            },
                            "MergedFacetValue": {
                              "fields": {
                                "values": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 1
                                },
                                "mergedValue": {
                                  "type": "string",
                                  "id": 2
                                }
                              }
                            },
                            "MergedFacet": {
                              "fields": {
                                "mergedFacetKey": {
                                  "type": "string",
                                  "id": 1
                                }
                              }
                            },
                            "RerankConfig": {
                              "fields": {
                                "rerankFacet": {
                                  "type": "bool",
                                  "id": 1
                                },
                                "facetValues": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 2
                                }
                              }
                            }
                          }
                        },
                        "AttributeType": {
                          "values": {
                            "UNKNOWN": 0,
                            "TEXTUAL": 1,
                            "NUMERICAL": 2
                          }
                        },
                        "IndexableOption": {
                          "values": {
                            "INDEXABLE_OPTION_UNSPECIFIED": 0,
                            "INDEXABLE_ENABLED": 1,
                            "INDEXABLE_DISABLED": 2
                          }
                        },
                        "DynamicFacetableOption": {
                          "values": {
                            "DYNAMIC_FACETABLE_OPTION_UNSPECIFIED": 0,
                            "DYNAMIC_FACETABLE_ENABLED": 1,
                            "DYNAMIC_FACETABLE_DISABLED": 2
                          }
                        },
                        "SearchableOption": {
                          "values": {
                            "SEARCHABLE_OPTION_UNSPECIFIED": 0,
                            "SEARCHABLE_ENABLED": 1,
                            "SEARCHABLE_DISABLED": 2
                          }
                        },
                        "ExactSearchableOption": {
                          "values": {
                            "EXACT_SEARCHABLE_OPTION_UNSPECIFIED": 0,
                            "EXACT_SEARCHABLE_ENABLED": 1,
                            "EXACT_SEARCHABLE_DISABLED": 2
                          }
                        },
                        "RetrievableOption": {
                          "values": {
                            "RETRIEVABLE_OPTION_UNSPECIFIED": 0,
                            "RETRIEVABLE_ENABLED": 1,
                            "RETRIEVABLE_DISABLED": 2
                          }
                        }
                      }
                    },
                    "AttributesConfig": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/AttributesConfig",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/attributesConfig"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "catalogAttributes": {
                          "keyType": "string",
                          "type": "CatalogAttribute",
                          "id": 2
                        },
                        "attributeConfigLevel": {
                          "type": "AttributeConfigLevel",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "CompletionConfig": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/CompletionConfig",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/completionConfig"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "matchingOrder": {
                          "type": "string",
                          "id": 2
                        },
                        "maxSuggestions": {
                          "type": "int32",
                          "id": 3
                        },
                        "minPrefixLength": {
                          "type": "int32",
                          "id": 4
                        },
                        "autoLearning": {
                          "type": "bool",
                          "id": 11
                        },
                        "suggestionsInputConfig": {
                          "type": "CompletionDataInputConfig",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "lastSuggestionsImportOperation": {
                          "type": "string",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "denylistInputConfig": {
                          "type": "CompletionDataInputConfig",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "lastDenylistImportOperation": {
                          "type": "string",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "allowlistInputConfig": {
                          "type": "CompletionDataInputConfig",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "lastAllowlistImportOperation": {
                          "type": "string",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "Catalog": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/Catalog",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "productLevelConfig": {
                          "type": "ProductLevelConfig",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "AttributeConfigLevel": {
                      "values": {
                        "ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED": 0,
                        "PRODUCT_LEVEL_ATTRIBUTE_CONFIG": 1,
                        "CATALOG_LEVEL_ATTRIBUTE_CONFIG": 2
                      }
                    },
                    "SolutionType": {
                      "values": {
                        "SOLUTION_TYPE_UNSPECIFIED": 0,
                        "SOLUTION_TYPE_RECOMMENDATION": 1,
                        "SOLUTION_TYPE_SEARCH": 2
                      }
                    },
                    "RecommendationsFilteringOption": {
                      "values": {
                        "RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED": 0,
                        "RECOMMENDATIONS_FILTERING_DISABLED": 1,
                        "RECOMMENDATIONS_FILTERING_ENABLED": 3
                      }
                    },
                    "SearchSolutionUseCase": {
                      "values": {
                        "SEARCH_SOLUTION_USE_CASE_UNSPECIFIED": 0,
                        "SEARCH_SOLUTION_USE_CASE_SEARCH": 1,
                        "SEARCH_SOLUTION_USE_CASE_BROWSE": 2
                      }
                    },
                    "Condition": {
                      "fields": {
                        "queryTerms": {
                          "rule": "repeated",
                          "type": "QueryTerm",
                          "id": 1
                        },
                        "activeTimeRange": {
                          "rule": "repeated",
                          "type": "TimeRange",
                          "id": 3
                        },
                        "pageCategories": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 4
                        }
                      },
                      "nested": {
                        "QueryTerm": {
                          "fields": {
                            "value": {
                              "type": "string",
                              "id": 1
                            },
                            "fullMatch": {
                              "type": "bool",
                              "id": 2
                            }
                          }
                        },
                        "TimeRange": {
                          "fields": {
                            "startTime": {
                              "type": "google.protobuf.Timestamp",
                              "id": 1
                            },
                            "endTime": {
                              "type": "google.protobuf.Timestamp",
                              "id": 2
                            }
                          }
                        }
                      }
                    },
                    "Rule": {
                      "oneofs": {
                        "action": {
                          "oneof": [
                            "boostAction",
                            "redirectAction",
                            "onewaySynonymsAction",
                            "doNotAssociateAction",
                            "replacementAction",
                            "ignoreAction",
                            "filterAction",
                            "twowaySynonymsAction",
                            "forceReturnFacetAction",
                            "removeFacetAction",
                            "pinAction"
                          ]
                        }
                      },
                      "fields": {
                        "boostAction": {
                          "type": "BoostAction",
                          "id": 2
                        },
                        "redirectAction": {
                          "type": "RedirectAction",
                          "id": 3
                        },
                        "onewaySynonymsAction": {
                          "type": "OnewaySynonymsAction",
                          "id": 6
                        },
                        "doNotAssociateAction": {
                          "type": "DoNotAssociateAction",
                          "id": 7
                        },
                        "replacementAction": {
                          "type": "ReplacementAction",
                          "id": 8
                        },
                        "ignoreAction": {
                          "type": "IgnoreAction",
                          "id": 9
                        },
                        "filterAction": {
                          "type": "FilterAction",
                          "id": 10
                        },
                        "twowaySynonymsAction": {
                          "type": "TwowaySynonymsAction",
                          "id": 11
                        },
                        "forceReturnFacetAction": {
                          "type": "ForceReturnFacetAction",
                          "id": 12
                        },
                        "removeFacetAction": {
                          "type": "RemoveFacetAction",
                          "id": 13
                        },
                        "pinAction": {
                          "type": "PinAction",
                          "id": 14
                        },
                        "condition": {
                          "type": "Condition",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "BoostAction": {
                          "fields": {
                            "boost": {
                              "type": "float",
                              "id": 1
                            },
                            "productsFilter": {
                              "type": "string",
                              "id": 2
                            }
                          }
                        },
                        "FilterAction": {
                          "fields": {
                            "filter": {
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "RedirectAction": {
                          "fields": {
                            "redirectUri": {
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "TwowaySynonymsAction": {
                          "fields": {
                            "synonyms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "OnewaySynonymsAction": {
                          "fields": {
                            "queryTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 3
                            },
                            "synonyms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 4
                            },
                            "onewayTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 2
                            }
                          }
                        },
                        "DoNotAssociateAction": {
                          "fields": {
                            "queryTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 2
                            },
                            "doNotAssociateTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 3
                            },
                            "terms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "ReplacementAction": {
                          "fields": {
                            "queryTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 2
                            },
                            "replacementTerm": {
                              "type": "string",
                              "id": 3
                            },
                            "term": {
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "IgnoreAction": {
                          "fields": {
                            "ignoreTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "ForceReturnFacetAction": {
                          "fields": {
                            "facetPositionAdjustments": {
                              "rule": "repeated",
                              "type": "FacetPositionAdjustment",
                              "id": 1
                            }
                          },
                          "nested": {
                            "FacetPositionAdjustment": {
                              "fields": {
                                "attributeName": {
                                  "type": "string",
                                  "id": 1
                                },
                                "position": {
                                  "type": "int32",
                                  "id": 2
                                }
                              }
                            }
                          }
                        },
                        "RemoveFacetAction": {
                          "fields": {
                            "attributeNames": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "PinAction": {
                          "fields": {
                            "pinMap": {
                              "keyType": "int64",
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        }
                      }
                    },
                    "Audience": {
                      "fields": {
                        "genders": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        },
                        "ageGroups": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "ColorInfo": {
                      "fields": {
                        "colorFamilies": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        },
                        "colors": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "CustomAttribute": {
                      "oneofs": {
                        "_searchable": {
                          "oneof": [
                            "searchable"
                          ]
                        },
                        "_indexable": {
                          "oneof": [
                            "indexable"
                          ]
                        }
                      },
                      "fields": {
                        "text": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        },
                        "numbers": {
                          "rule": "repeated",
                          "type": "double",
                          "id": 2
                        },
                        "searchable": {
                          "type": "bool",
                          "id": 3,
                          "options": {
                            "deprecated": true,
                            "proto3_optional": true
                          }
                        },
                        "indexable": {
                          "type": "bool",
                          "id": 4,
                          "options": {
                            "deprecated": true,
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "FulfillmentInfo": {
                      "fields": {
                        "type": {
                          "type": "string",
                          "id": 1
                        },
                        "placeIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "Image": {
                      "fields": {
                        "uri": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "height": {
                          "type": "int32",
                          "id": 2
                        },
                        "width": {
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "Interval": {
                      "oneofs": {
                        "min": {
                          "oneof": [
                            "minimum",
                            "exclusiveMinimum"
                          ]
                        },
                        "max": {
                          "oneof": [
                            "maximum",
                            "exclusiveMaximum"
                          ]
                        }
                      },
                      "fields": {
                        "minimum": {
                          "type": "double",
                          "id": 1
                        },
                        "exclusiveMinimum": {
                          "type": "double",
                          "id": 2
                        },
                        "maximum": {
                          "type": "double",
                          "id": 3
                        },
                        "exclusiveMaximum": {
                          "type": "double",
                          "id": 4
                        }
                      }
                    },
                    "PriceInfo": {
                      "fields": {
                        "currencyCode": {
                          "type": "string",
                          "id": 1
                        },
                        "price": {
                          "type": "float",
                          "id": 2
                        },
                        "originalPrice": {
                          "type": "float",
                          "id": 3
                        },
                        "cost": {
                          "type": "float",
                          "id": 4
                        },
                        "priceEffectiveTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5
                        },
                        "priceExpireTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 6
                        },
                        "priceRange": {
                          "type": "PriceRange",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "PriceRange": {
                          "fields": {
                            "price": {
                              "type": "Interval",
                              "id": 1
                            },
                            "originalPrice": {
                              "type": "Interval",
                              "id": 2
                            }
                          }
                        }
                      }
                    },
                    "Rating": {
                      "fields": {
                        "ratingCount": {
                          "type": "int32",
                          "id": 1
                        },
                        "averageRating": {
                          "type": "float",
                          "id": 2
                        },
                        "ratingHistogram": {
                          "rule": "repeated",
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "UserInfo": {
                      "fields": {
                        "userId": {
                          "type": "string",
                          "id": 1
                        },
                        "ipAddress": {
                          "type": "string",
                          "id": 2
                        },
                        "userAgent": {
                          "type": "string",
                          "id": 3
                        },
                        "directUserRequest": {
                          "type": "bool",
                          "id": 4
                        }
                      }
                    },
                    "LocalInventory": {
                      "fields": {
                        "placeId": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "priceInfo": {
                          "type": "PriceInfo",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "attributes": {
                          "keyType": "string",
                          "type": "CustomAttribute",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "fulfillmentTypes": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "PinControlMetadata": {
                      "fields": {
                        "allMatchedPins": {
                          "keyType": "int64",
                          "type": "ProductPins",
                          "id": 1
                        },
                        "droppedPins": {
                          "keyType": "int64",
                          "type": "ProductPins",
                          "id": 2
                        }
                      },
                      "nested": {
                        "ProductPins": {
                          "fields": {
                            "productId": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        }
                      }
                    },
                    "StringList": {
                      "fields": {
                        "values": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "DoubleList": {
                      "fields": {
                        "values": {
                          "rule": "repeated",
                          "type": "double",
                          "id": 1
                        }
                      }
                    },
                    "GcsSource": {
                      "fields": {
                        "inputUris": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "dataSchema": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "BigQuerySource": {
                      "oneofs": {
                        "partition": {
                          "oneof": [
                            "partitionDate"
                          ]
                        }
                      },
                      "fields": {
                        "partitionDate": {
                          "type": "google.type.Date",
                          "id": 6
                        },
                        "projectId": {
                          "type": "string",
                          "id": 5
                        },
                        "datasetId": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "tableId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "gcsStagingDir": {
                          "type": "string",
                          "id": 3
                        },
                        "dataSchema": {
                          "type": "string",
                          "id": 4
                        }
                      }
                    },
                    "ProductInlineSource": {
                      "fields": {
                        "products": {
                          "rule": "repeated",
                          "type": "Product",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "UserEventInlineSource": {
                      "fields": {
                        "userEvents": {
                          "rule": "repeated",
                          "type": "UserEvent",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "ImportErrorsConfig": {
                      "oneofs": {
                        "destination": {
                          "oneof": [
                            "gcsPrefix"
                          ]
                        }
                      },
                      "fields": {
                        "gcsPrefix": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "ImportProductsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "requestId": {
                          "type": "string",
                          "id": 6,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "inputConfig": {
                          "type": "ProductInputConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "errorsConfig": {
                          "type": "ImportErrorsConfig",
                          "id": 3
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 4
                        },
                        "reconciliationMode": {
                          "type": "ReconciliationMode",
                          "id": 5
                        },
                        "notificationPubsubTopic": {
                          "type": "string",
                          "id": 7
                        }
                      },
                      "nested": {
                        "ReconciliationMode": {
                          "values": {
                            "RECONCILIATION_MODE_UNSPECIFIED": 0,
                            "INCREMENTAL": 1,
                            "FULL": 2
                          }
                        }
                      }
                    },
                    "ImportUserEventsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "inputConfig": {
                          "type": "UserEventInputConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "errorsConfig": {
                          "type": "ImportErrorsConfig",
                          "id": 3
                        }
                      }
                    },
                    "ImportCompletionDataRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "inputConfig": {
                          "type": "CompletionDataInputConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "notificationPubsubTopic": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ProductInputConfig": {
                      "oneofs": {
                        "source": {
                          "oneof": [
                            "productInlineSource",
                            "gcsSource",
                            "bigQuerySource"
                          ]
                        }
                      },
                      "fields": {
                        "productInlineSource": {
                          "type": "ProductInlineSource",
                          "id": 1
                        },
                        "gcsSource": {
                          "type": "GcsSource",
                          "id": 2
                        },
                        "bigQuerySource": {
                          "type": "BigQuerySource",
                          "id": 3
                        }
                      }
                    },
                    "UserEventInputConfig": {
                      "oneofs": {
                        "source": {
                          "oneof": [
                            "userEventInlineSource",
                            "gcsSource",
                            "bigQuerySource"
                          ]
                        }
                      },
                      "fields": {
                        "userEventInlineSource": {
                          "type": "UserEventInlineSource",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "gcsSource": {
                          "type": "GcsSource",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "bigQuerySource": {
                          "type": "BigQuerySource",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CompletionDataInputConfig": {
                      "oneofs": {
                        "source": {
                          "oneof": [
                            "bigQuerySource"
                          ]
                        }
                      },
                      "fields": {
                        "bigQuerySource": {
                          "type": "BigQuerySource",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "ImportMetadata": {
                      "fields": {
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 1
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2
                        },
                        "successCount": {
                          "type": "int64",
                          "id": 3
                        },
                        "failureCount": {
                          "type": "int64",
                          "id": 4
                        },
                        "requestId": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "notificationPubsubTopic": {
                          "type": "string",
                          "id": 6
                        }
                      }
                    },
                    "ImportProductsResponse": {
                      "fields": {
                        "errorSamples": {
                          "rule": "repeated",
                          "type": "google.rpc.Status",
                          "id": 1
                        },
                        "errorsConfig": {
                          "type": "ImportErrorsConfig",
                          "id": 2
                        }
                      }
                    },
                    "ImportUserEventsResponse": {
                      "fields": {
                        "errorSamples": {
                          "rule": "repeated",
                          "type": "google.rpc.Status",
                          "id": 1
                        },
                        "errorsConfig": {
                          "type": "ImportErrorsConfig",
                          "id": 2
                        },
                        "importSummary": {
                          "type": "UserEventImportSummary",
                          "id": 3
                        }
                      }
                    },
                    "UserEventImportSummary": {
                      "fields": {
                        "joinedEventsCount": {
                          "type": "int64",
                          "id": 1
                        },
                        "unjoinedEventsCount": {
                          "type": "int64",
                          "id": 2
                        }
                      }
                    },
                    "ImportCompletionDataResponse": {
                      "fields": {
                        "errorSamples": {
                          "rule": "repeated",
                          "type": "google.rpc.Status",
                          "id": 1
                        }
                      }
                    },
                    "Product": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/Product",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/branches/{branch}/products/{product}"
                      },
                      "oneofs": {
                        "expiration": {
                          "oneof": [
                            "expireTime",
                            "ttl"
                          ]
                        }
                      },
                      "fields": {
                        "expireTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 16
                        },
                        "ttl": {
                          "type": "google.protobuf.Duration",
                          "id": 17,
                          "options": {
                            "(google.api.field_behavior)": "INPUT_ONLY"
                          }
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "id": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "type": {
                          "type": "Type",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "primaryProductId": {
                          "type": "string",
                          "id": 4
                        },
                        "collectionMemberIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5
                        },
                        "gtin": {
                          "type": "string",
                          "id": 6
                        },
                        "categories": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 7
                        },
                        "title": {
                          "type": "string",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "brands": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 9
                        },
                        "description": {
                          "type": "string",
                          "id": 10
                        },
                        "languageCode": {
                          "type": "string",
                          "id": 11
                        },
                        "attributes": {
                          "keyType": "string",
                          "type": "CustomAttribute",
                          "id": 12
                        },
                        "tags": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 13
                        },
                        "priceInfo": {
                          "type": "PriceInfo",
                          "id": 14
                        },
                        "rating": {
                          "type": "Rating",
                          "id": 15
                        },
                        "availableTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 18
                        },
                        "availability": {
                          "type": "Availability",
                          "id": 19
                        },
                        "availableQuantity": {
                          "type": "google.protobuf.Int32Value",
                          "id": 20
                        },
                        "fulfillmentInfo": {
                          "rule": "repeated",
                          "type": "FulfillmentInfo",
                          "id": 21
                        },
                        "uri": {
                          "type": "string",
                          "id": 22
                        },
                        "images": {
                          "rule": "repeated",
                          "type": "Image",
                          "id": 23
                        },
                        "audience": {
                          "type": "Audience",
                          "id": 24
                        },
                        "colorInfo": {
                          "type": "ColorInfo",
                          "id": 25
                        },
                        "sizes": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 26
                        },
                        "materials": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 27
                        },
                        "patterns": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 28
                        },
                        "conditions": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 29
                        },
                        "promotions": {
                          "rule": "repeated",
                          "type": "Promotion",
                          "id": 34
                        },
                        "publishTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 33
                        },
                        "retrievableFields": {
                          "type": "google.protobuf.FieldMask",
                          "id": 30,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "variants": {
                          "rule": "repeated",
                          "type": "Product",
                          "id": 31,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "localInventories": {
                          "rule": "repeated",
                          "type": "LocalInventory",
                          "id": 35,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "Type": {
                          "values": {
                            "TYPE_UNSPECIFIED": 0,
                            "PRIMARY": 1,
                            "VARIANT": 2,
                            "COLLECTION": 3
                          }
                        },
                        "Availability": {
                          "values": {
                            "AVAILABILITY_UNSPECIFIED": 0,
                            "IN_STOCK": 1,
                            "OUT_OF_STOCK": 2,
                            "PREORDER": 3,
                            "BACKORDER": 4
                          }
                        }
                      }
                    },
                    "Promotion": {
                      "fields": {
                        "promotionId": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "UserEvent": {
                      "fields": {
                        "eventType": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "visitorId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "sessionId": {
                          "type": "string",
                          "id": 21
                        },
                        "eventTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 3
                        },
                        "experimentIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 4
                        },
                        "attributionToken": {
                          "type": "string",
                          "id": 5
                        },
                        "productDetails": {
                          "rule": "repeated",
                          "type": "ProductDetail",
                          "id": 6
                        },
                        "completionDetail": {
                          "type": "CompletionDetail",
                          "id": 22
                        },
                        "attributes": {
                          "keyType": "string",
                          "type": "CustomAttribute",
                          "id": 7
                        },
                        "cartId": {
                          "type": "string",
                          "id": 8
                        },
                        "purchaseTransaction": {
                          "type": "PurchaseTransaction",
                          "id": 9
                        },
                        "searchQuery": {
                          "type": "string",
                          "id": 10
                        },
                        "filter": {
                          "type": "string",
                          "id": 16
                        },
                        "orderBy": {
                          "type": "string",
                          "id": 17
                        },
                        "offset": {
                          "type": "int32",
                          "id": 18
                        },
                        "pageCategories": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 11
                        },
                        "userInfo": {
                          "type": "UserInfo",
                          "id": 12
                        },
                        "uri": {
                          "type": "string",
                          "id": 13
                        },
                        "referrerUri": {
                          "type": "string",
                          "id": 14
                        },
                        "pageViewId": {
                          "type": "string",
                          "id": 15
                        },
                        "entity": {
                          "type": "string",
                          "id": 23
                        }
                      }
                    },
                    "ProductDetail": {
                      "fields": {
                        "product": {
                          "type": "Product",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "quantity": {
                          "type": "google.protobuf.Int32Value",
                          "id": 2
                        }
                      }
                    },
                    "CompletionDetail": {
                      "fields": {
                        "completionAttributionToken": {
                          "type": "string",
                          "id": 1
                        },
                        "selectedSuggestion": {
                          "type": "string",
                          "id": 2
                        },
                        "selectedPosition": {
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "PurchaseTransaction": {
                      "fields": {
                        "id": {
                          "type": "string",
                          "id": 1
                        },
                        "revenue": {
                          "type": "float",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "tax": {
                          "type": "float",
                          "id": 3
                        },
                        "cost": {
                          "type": "float",
                          "id": 4
                        },
                        "currencyCode": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CatalogService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "ListCatalogs": {
                          "requestType": "ListCatalogsRequest",
                          "responseType": "ListCatalogsResponse",
                          "options": {
                            "(google.api.http).get": "/v2/{parent=projects/*/locations/*}/catalogs",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2/{parent=projects/*/locations/*}/catalogs"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "UpdateCatalog": {
                          "requestType": "UpdateCatalogRequest",
                          "responseType": "Catalog",
                          "options": {
                            "(google.api.http).patch": "/v2/{catalog.name=projects/*/locations/*/catalogs/*}",
                            "(google.api.http).body": "catalog",
                            "(google.api.method_signature)": "catalog,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2/{catalog.name=projects/*/locations/*/catalogs/*}",
                                "body": "catalog"
                              }
                            },
                            {
                              "(google.api.method_signature)": "catalog,update_mask"
                            }
                          ]
                        },
                        "SetDefaultBranch": {
                          "requestType": "SetDefaultBranchRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).post": "/v2/{catalog=projects/*/locations/*/catalogs/*}:setDefaultBranch",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "catalog"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{catalog=projects/*/locations/*/catalogs/*}:setDefaultBranch",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "catalog"
                            }
                          ]
                        },
                        "GetDefaultBranch": {
                          "requestType": "GetDefaultBranchRequest",
                          "responseType": "GetDefaultBranchResponse",
                          "options": {
                            "(google.api.http).get": "/v2/{catalog=projects/*/locations/*/catalogs/*}:getDefaultBranch",
                            "(google.api.method_signature)": "catalog"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2/{catalog=projects/*/locations/*/catalogs/*}:getDefaultBranch"
                              }
                            },
                            {
                              "(google.api.method_signature)": "catalog"
                            }
                          ]
                        },
                        "GetCompletionConfig": {
                          "requestType": "GetCompletionConfigRequest",
                          "responseType": "CompletionConfig",
                          "options": {
                            "(google.api.http).get": "/v2/{name=projects/*/locations/*/catalogs/*/completionConfig}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2/{name=projects/*/locations/*/catalogs/*/completionConfig}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateCompletionConfig": {
                          "requestType": "UpdateCompletionConfigRequest",
                          "responseType": "CompletionConfig",
                          "options": {
                            "(google.api.http).patch": "/v2/{completion_config.name=projects/*/locations/*/catalogs/*/completionConfig}",
                            "(google.api.http).body": "completion_config",
                            "(google.api.method_signature)": "completion_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2/{completion_config.name=projects/*/locations/*/catalogs/*/completionConfig}",
                                "body": "completion_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "completion_config,update_mask"
                            }
                          ]
                        },
                        "GetAttributesConfig": {
                          "requestType": "GetAttributesConfigRequest",
                          "responseType": "AttributesConfig",
                          "options": {
                            "(google.api.http).get": "/v2/{name=projects/*/locations/*/catalogs/*/attributesConfig}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2/{name=projects/*/locations/*/catalogs/*/attributesConfig}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateAttributesConfig": {
                          "requestType": "UpdateAttributesConfigRequest",
                          "responseType": "AttributesConfig",
                          "options": {
                            "(google.api.http).patch": "/v2/{attributes_config.name=projects/*/locations/*/catalogs/*/attributesConfig}",
                            "(google.api.http).body": "attributes_config",
                            "(google.api.method_signature)": "attributes_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2/{attributes_config.name=projects/*/locations/*/catalogs/*/attributesConfig}",
                                "body": "attributes_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "attributes_config,update_mask"
                            }
                          ]
                        },
                        "AddCatalogAttribute": {
                          "requestType": "AddCatalogAttributeRequest",
                          "responseType": "AttributesConfig",
                          "options": {
                            "(google.api.http).post": "/v2/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:addCatalogAttribute",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:addCatalogAttribute",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "RemoveCatalogAttribute": {
                          "requestType": "RemoveCatalogAttributeRequest",
                          "responseType": "AttributesConfig",
                          "options": {
                            "(google.api.http).post": "/v2/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:removeCatalogAttribute",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:removeCatalogAttribute",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "ReplaceCatalogAttribute": {
                          "requestType": "ReplaceCatalogAttributeRequest",
                          "responseType": "AttributesConfig",
                          "options": {
                            "(google.api.http).post": "/v2/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:replaceCatalogAttribute",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:replaceCatalogAttribute",
                                "body": "*"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "ListCatalogsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "locations.googleapis.com/Location"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ListCatalogsResponse": {
                      "fields": {
                        "catalogs": {
                          "rule": "repeated",
                          "type": "Catalog",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "UpdateCatalogRequest": {
                      "fields": {
                        "catalog": {
                          "type": "Catalog",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "SetDefaultBranchRequest": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "branchId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "note": {
                          "type": "string",
                          "id": 3
                        },
                        "force": {
                          "type": "bool",
                          "id": 4
                        }
                      }
                    },
                    "GetDefaultBranchRequest": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        }
                      }
                    },
                    "GetDefaultBranchResponse": {
                      "fields": {
                        "branch": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "setTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2
                        },
                        "note": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "GetCompletionConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/CompletionConfig"
                          }
                        }
                      }
                    },
                    "UpdateCompletionConfigRequest": {
                      "fields": {
                        "completionConfig": {
                          "type": "CompletionConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "GetAttributesConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/AttributesConfig"
                          }
                        }
                      }
                    },
                    "UpdateAttributesConfigRequest": {
                      "fields": {
                        "attributesConfig": {
                          "type": "AttributesConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "AddCatalogAttributeRequest": {
                      "fields": {
                        "attributesConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/AttributesConfig"
                          }
                        },
                        "catalogAttribute": {
                          "type": "CatalogAttribute",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "RemoveCatalogAttributeRequest": {
                      "fields": {
                        "attributesConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/AttributesConfig"
                          }
                        },
                        "key": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "ReplaceCatalogAttributeRequest": {
                      "fields": {
                        "attributesConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/AttributesConfig"
                          }
                        },
                        "catalogAttribute": {
                          "type": "CatalogAttribute",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 3
                        }
                      }
                    },
                    "CompletionService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "CompleteQuery": {
                          "requestType": "CompleteQueryRequest",
                          "responseType": "CompleteQueryResponse",
                          "options": {
                            "(google.api.http).get": "/v2/{catalog=projects/*/locations/*/catalogs/*}:completeQuery"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2/{catalog=projects/*/locations/*/catalogs/*}:completeQuery"
                              }
                            }
                          ]
                        },
                        "ImportCompletionData": {
                          "requestType": "ImportCompletionDataRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2/{parent=projects/*/locations/*/catalogs/*}/completionData:import",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2.ImportCompletionDataResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2.ImportMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{parent=projects/*/locations/*/catalogs/*}/completionData:import",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2.ImportCompletionDataResponse",
                                "metadata_type": "google.cloud.retail.v2.ImportMetadata"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "CompleteQueryRequest": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "query": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "visitorId": {
                          "type": "string",
                          "id": 7
                        },
                        "languageCodes": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3
                        },
                        "deviceType": {
                          "type": "string",
                          "id": 4
                        },
                        "dataset": {
                          "type": "string",
                          "id": 6
                        },
                        "maxSuggestions": {
                          "type": "int32",
                          "id": 5
                        },
                        "enableAttributeSuggestions": {
                          "type": "bool",
                          "id": 9
                        },
                        "entity": {
                          "type": "string",
                          "id": 10
                        }
                      }
                    },
                    "CompleteQueryResponse": {
                      "fields": {
                        "completionResults": {
                          "rule": "repeated",
                          "type": "CompletionResult",
                          "id": 1
                        },
                        "attributionToken": {
                          "type": "string",
                          "id": 2
                        },
                        "recentSearchResults": {
                          "rule": "repeated",
                          "type": "RecentSearchResult",
                          "id": 3,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "attributeResults": {
                          "keyType": "string",
                          "type": "AttributeResult",
                          "id": 4
                        }
                      },
                      "nested": {
                        "CompletionResult": {
                          "fields": {
                            "suggestion": {
                              "type": "string",
                              "id": 1
                            },
                            "attributes": {
                              "keyType": "string",
                              "type": "CustomAttribute",
                              "id": 2
                            }
                          }
                        },
                        "RecentSearchResult": {
                          "options": {
                            "deprecated": true
                          },
                          "fields": {
                            "recentSearch": {
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "AttributeResult": {
                          "fields": {
                            "suggestions": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        }
                      }
                    },
                    "Control": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/Control",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/controls/{control}"
                      },
                      "oneofs": {
                        "control": {
                          "oneof": [
                            "rule"
                          ]
                        }
                      },
                      "fields": {
                        "rule": {
                          "type": "Rule",
                          "id": 4
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "associatedServingConfigIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "solutionTypes": {
                          "rule": "repeated",
                          "type": "SolutionType",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "searchSolutionUseCase": {
                          "rule": "repeated",
                          "type": "SearchSolutionUseCase",
                          "id": 7
                        }
                      }
                    },
                    "ControlService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "CreateControl": {
                          "requestType": "CreateControlRequest",
                          "responseType": "Control",
                          "options": {
                            "(google.api.http).post": "/v2/{parent=projects/*/locations/*/catalogs/*}/controls",
                            "(google.api.http).body": "control",
                            "(google.api.method_signature)": "parent,control,control_id"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{parent=projects/*/locations/*/catalogs/*}/controls",
                                "body": "control"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,control,control_id"
                            }
                          ]
                        },
                        "DeleteControl": {
                          "requestType": "DeleteControlRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v2/{name=projects/*/locations/*/catalogs/*/controls/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v2/{name=projects/*/locations/*/catalogs/*/controls/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateControl": {
                          "requestType": "UpdateControlRequest",
                          "responseType": "Control",
                          "options": {
                            "(google.api.http).patch": "/v2/{control.name=projects/*/locations/*/catalogs/*/controls/*}",
                            "(google.api.http).body": "control",
                            "(google.api.method_signature)": "control,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2/{control.name=projects/*/locations/*/catalogs/*/controls/*}",
                                "body": "control"
                              }
                            },
                            {
                              "(google.api.method_signature)": "control,update_mask"
                            }
                          ]
                        },
                        "GetControl": {
                          "requestType": "GetControlRequest",
                          "responseType": "Control",
                          "options": {
                            "(google.api.http).get": "/v2/{name=projects/*/locations/*/catalogs/*/controls/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2/{name=projects/*/locations/*/catalogs/*/controls/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListControls": {
                          "requestType": "ListControlsRequest",
                          "responseType": "ListControlsResponse",
                          "options": {
                            "(google.api.http).get": "/v2/{parent=projects/*/locations/*/catalogs/*}/controls",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2/{parent=projects/*/locations/*/catalogs/*}/controls"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        }
                      }
                    },
                    "CreateControlRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "control": {
                          "type": "Control",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "controlId": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "UpdateControlRequest": {
                      "fields": {
                        "control": {
                          "type": "Control",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "DeleteControlRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Control"
                          }
                        }
                      }
                    },
                    "GetControlRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Control"
                          }
                        }
                      }
                    },
                    "ListControlsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListControlsResponse": {
                      "fields": {
                        "controls": {
                          "rule": "repeated",
                          "type": "Control",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "ConversationalSearchService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "ConversationalSearch": {
                          "requestType": "ConversationalSearchRequest",
                          "responseType": "ConversationalSearchResponse",
                          "responseStream": true,
                          "options": {
                            "(google.api.http).post": "/v2/{placement=projects/*/locations/*/catalogs/*/placements/*}:conversationalSearch",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v2/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:conversationalSearch",
                            "(google.api.http).additional_bindings.body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{placement=projects/*/locations/*/catalogs/*/placements/*}:conversationalSearch",
                                "body": "*",
                                "additional_bindings": {
                                  "post": "/v2/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:conversationalSearch",
                                  "body": "*"
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    "ConversationalSearchRequest": {
                      "fields": {
                        "placement": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "branch": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "query": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageCategories": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "conversationId": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "searchParams": {
                          "type": "SearchParams",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "visitorId": {
                          "type": "string",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userInfo": {
                          "type": "UserInfo",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "conversationalFilteringSpec": {
                          "type": "ConversationalFilteringSpec",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "userLabels": {
                          "keyType": "string",
                          "type": "string",
                          "id": 12,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "safetySettings": {
                          "rule": "repeated",
                          "type": "SafetySetting",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "SearchParams": {
                          "fields": {
                            "filter": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "canonicalFilter": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "sortBy": {
                              "type": "string",
                              "id": 3,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "boostSpec": {
                              "type": "SearchRequest.BoostSpec",
                              "id": 4,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          }
                        },
                        "UserAnswer": {
                          "oneofs": {
                            "type": {
                              "oneof": [
                                "textAnswer",
                                "selectedAnswer"
                              ]
                            }
                          },
                          "fields": {
                            "textAnswer": {
                              "type": "string",
                              "id": 1
                            },
                            "selectedAnswer": {
                              "type": "SelectedAnswer",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          },
                          "nested": {
                            "SelectedAnswer": {
                              "fields": {
                                "productAttributeValue": {
                                  "type": "ProductAttributeValue",
                                  "id": 1,
                                  "options": {
                                    "(google.api.field_behavior)": "OPTIONAL"
                                  }
                                }
                              }
                            }
                          }
                        },
                        "ConversationalFilteringSpec": {
                          "fields": {
                            "enableConversationalFiltering": {
                              "type": "bool",
                              "id": 1,
                              "options": {
                                "deprecated": true,
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "userAnswer": {
                              "type": "UserAnswer",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "conversationalFilteringMode": {
                              "type": "Mode",
                              "id": 4,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          },
                          "nested": {
                            "Mode": {
                              "values": {
                                "MODE_UNSPECIFIED": 0,
                                "DISABLED": 1,
                                "ENABLED": 2,
                                "CONVERSATIONAL_FILTER_ONLY": 3
                              }
                            }
                          }
                        }
                      }
                    },
                    "ConversationalSearchResponse": {
                      "fields": {
                        "userQueryTypes": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 10
                        },
                        "conversationalTextResponse": {
                          "type": "string",
                          "id": 2
                        },
                        "followupQuestion": {
                          "type": "FollowupQuestion",
                          "id": 3
                        },
                        "conversationId": {
                          "type": "string",
                          "id": 4
                        },
                        "refinedSearch": {
                          "rule": "repeated",
                          "type": "RefinedSearch",
                          "id": 6
                        },
                        "conversationalFilteringResult": {
                          "type": "ConversationalFilteringResult",
                          "id": 7
                        },
                        "state": {
                          "type": "State",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "FollowupQuestion": {
                          "fields": {
                            "followupQuestion": {
                              "type": "string",
                              "id": 1
                            },
                            "suggestedAnswers": {
                              "rule": "repeated",
                              "type": "SuggestedAnswer",
                              "id": 2
                            }
                          },
                          "nested": {
                            "SuggestedAnswer": {
                              "fields": {
                                "productAttributeValue": {
                                  "type": "ProductAttributeValue",
                                  "id": 1
                                }
                              }
                            }
                          }
                        },
                        "RefinedSearch": {
                          "fields": {
                            "query": {
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "ConversationalFilteringResult": {
                          "fields": {
                            "followupQuestion": {
                              "type": "FollowupQuestion",
                              "id": 1
                            },
                            "additionalFilter": {
                              "type": "AdditionalFilter",
                              "id": 2
                            }
                          },
                          "nested": {
                            "AdditionalFilter": {
                              "fields": {
                                "productAttributeValue": {
                                  "type": "ProductAttributeValue",
                                  "id": 1
                                }
                              }
                            }
                          }
                        },
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "STREAMING": 1,
                            "SUCCEEDED": 2
                          }
                        }
                      }
                    },
                    "HarmCategory": {
                      "values": {
                        "HARM_CATEGORY_UNSPECIFIED": 0,
                        "HARM_CATEGORY_HATE_SPEECH": 1,
                        "HARM_CATEGORY_DANGEROUS_CONTENT": 2,
                        "HARM_CATEGORY_HARASSMENT": 3,
                        "HARM_CATEGORY_SEXUALLY_EXPLICIT": 4,
                        "HARM_CATEGORY_CIVIC_INTEGRITY": 5
                      }
                    },
                    "SafetySetting": {
                      "fields": {
                        "category": {
                          "type": "HarmCategory",
                          "id": 1
                        },
                        "threshold": {
                          "type": "HarmBlockThreshold",
                          "id": 2
                        },
                        "method": {
                          "type": "HarmBlockMethod",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "HarmBlockThreshold": {
                          "values": {
                            "HARM_BLOCK_THRESHOLD_UNSPECIFIED": 0,
                            "BLOCK_LOW_AND_ABOVE": 1,
                            "BLOCK_MEDIUM_AND_ABOVE": 2,
                            "BLOCK_ONLY_HIGH": 3,
                            "BLOCK_NONE": 4,
                            "OFF": 5
                          }
                        },
                        "HarmBlockMethod": {
                          "values": {
                            "HARM_BLOCK_METHOD_UNSPECIFIED": 0,
                            "SEVERITY": 1,
                            "PROBABILITY": 2
                          }
                        }
                      }
                    },
                    "SearchService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "Search": {
                          "requestType": "SearchRequest",
                          "responseType": "SearchResponse",
                          "options": {
                            "(google.api.http).post": "/v2/{placement=projects/*/locations/*/catalogs/*/placements/*}:search",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v2/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:search",
                            "(google.api.http).additional_bindings.body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{placement=projects/*/locations/*/catalogs/*/placements/*}:search",
                                "body": "*",
                                "additional_bindings": {
                                  "post": "/v2/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:search",
                                  "body": "*"
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    "ProductAttributeValue": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1
                        },
                        "value": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "ProductAttributeInterval": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1
                        },
                        "interval": {
                          "type": "Interval",
                          "id": 2
                        }
                      }
                    },
                    "Tile": {
                      "oneofs": {
                        "productAttribute": {
                          "oneof": [
                            "productAttributeValue",
                            "productAttributeInterval"
                          ]
                        }
                      },
                      "fields": {
                        "productAttributeValue": {
                          "type": "ProductAttributeValue",
                          "id": 1
                        },
                        "productAttributeInterval": {
                          "type": "ProductAttributeInterval",
                          "id": 2
                        },
                        "representativeProductId": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "SearchRequest": {
                      "oneofs": {
                        "_spellCorrectionSpec": {
                          "oneof": [
                            "spellCorrectionSpec"
                          ]
                        }
                      },
                      "fields": {
                        "placement": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "branch": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "query": {
                          "type": "string",
                          "id": 3
                        },
                        "visitorId": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userInfo": {
                          "type": "UserInfo",
                          "id": 5
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 7
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 8
                        },
                        "offset": {
                          "type": "int32",
                          "id": 9
                        },
                        "filter": {
                          "type": "string",
                          "id": 10
                        },
                        "canonicalFilter": {
                          "type": "string",
                          "id": 28
                        },
                        "orderBy": {
                          "type": "string",
                          "id": 11
                        },
                        "facetSpecs": {
                          "rule": "repeated",
                          "type": "FacetSpec",
                          "id": 12
                        },
                        "dynamicFacetSpec": {
                          "type": "DynamicFacetSpec",
                          "id": 21,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "boostSpec": {
                          "type": "BoostSpec",
                          "id": 13
                        },
                        "queryExpansionSpec": {
                          "type": "QueryExpansionSpec",
                          "id": 14
                        },
                        "variantRollupKeys": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 17
                        },
                        "pageCategories": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 23
                        },
                        "searchMode": {
                          "type": "SearchMode",
                          "id": 31
                        },
                        "personalizationSpec": {
                          "type": "PersonalizationSpec",
                          "id": 32
                        },
                        "labels": {
                          "keyType": "string",
                          "type": "string",
                          "id": 34
                        },
                        "spellCorrectionSpec": {
                          "type": "SpellCorrectionSpec",
                          "id": 35,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "entity": {
                          "type": "string",
                          "id": 38
                        },
                        "conversationalSearchSpec": {
                          "type": "ConversationalSearchSpec",
                          "id": 40,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "tileNavigationSpec": {
                          "type": "TileNavigationSpec",
                          "id": 41,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "languageCode": {
                          "type": "string",
                          "id": 43,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "regionCode": {
                          "type": "string",
                          "id": 44,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "placeId": {
                          "type": "string",
                          "id": 46,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "userAttributes": {
                          "keyType": "string",
                          "type": "StringList",
                          "id": 47,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "FacetSpec": {
                          "fields": {
                            "facetKey": {
                              "type": "FacetKey",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "limit": {
                              "type": "int32",
                              "id": 2
                            },
                            "excludedFilterKeys": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 3
                            },
                            "enableDynamicPosition": {
                              "type": "bool",
                              "id": 4
                            }
                          },
                          "nested": {
                            "FacetKey": {
                              "fields": {
                                "key": {
                                  "type": "string",
                                  "id": 1,
                                  "options": {
                                    "(google.api.field_behavior)": "REQUIRED"
                                  }
                                },
                                "intervals": {
                                  "rule": "repeated",
                                  "type": "Interval",
                                  "id": 2
                                },
                                "restrictedValues": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 3
                                },
                                "prefixes": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 8
                                },
                                "contains": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 9
                                },
                                "caseInsensitive": {
                                  "type": "bool",
                                  "id": 10
                                },
                                "orderBy": {
                                  "type": "string",
                                  "id": 4
                                },
                                "query": {
                                  "type": "string",
                                  "id": 5
                                },
                                "returnMinMax": {
                                  "type": "bool",
                                  "id": 11
                                }
                              }
                            }
                          }
                        },
                        "DynamicFacetSpec": {
                          "fields": {
                            "mode": {
                              "type": "Mode",
                              "id": 1
                            }
                          },
                          "nested": {
                            "Mode": {
                              "values": {
                                "MODE_UNSPECIFIED": 0,
                                "DISABLED": 1,
                                "ENABLED": 2
                              }
                            }
                          }
                        },
                        "BoostSpec": {
                          "oneofs": {
                            "_skipBoostSpecValidation": {
                              "oneof": [
                                "skipBoostSpecValidation"
                              ]
                            }
                          },
                          "fields": {
                            "conditionBoostSpecs": {
                              "rule": "repeated",
                              "type": "ConditionBoostSpec",
                              "id": 1
                            },
                            "skipBoostSpecValidation": {
                              "type": "bool",
                              "id": 2,
                              "options": {
                                "proto3_optional": true
                              }
                            }
                          },
                          "nested": {
                            "ConditionBoostSpec": {
                              "fields": {
                                "condition": {
                                  "type": "string",
                                  "id": 1
                                },
                                "boost": {
                                  "type": "float",
                                  "id": 2
                                }
                              }
                            }
                          }
                        },
                        "QueryExpansionSpec": {
                          "fields": {
                            "condition": {
                              "type": "Condition",
                              "id": 1
                            },
                            "pinUnexpandedResults": {
                              "type": "bool",
                              "id": 2
                            }
                          },
                          "nested": {
                            "Condition": {
                              "values": {
                                "CONDITION_UNSPECIFIED": 0,
                                "DISABLED": 1,
                                "AUTO": 3
                              }
                            }
                          }
                        },
                        "PersonalizationSpec": {
                          "fields": {
                            "mode": {
                              "type": "Mode",
                              "id": 1
                            }
                          },
                          "nested": {
                            "Mode": {
                              "values": {
                                "MODE_UNSPECIFIED": 0,
                                "AUTO": 1,
                                "DISABLED": 2
                              }
                            }
                          }
                        },
                        "SpellCorrectionSpec": {
                          "fields": {
                            "mode": {
                              "type": "Mode",
                              "id": 1
                            }
                          },
                          "nested": {
                            "Mode": {
                              "values": {
                                "MODE_UNSPECIFIED": 0,
                                "SUGGESTION_ONLY": 1,
                                "AUTO": 2
                              }
                            }
                          }
                        },
                        "ConversationalSearchSpec": {
                          "fields": {
                            "followupConversationRequested": {
                              "type": "bool",
                              "id": 1
                            },
                            "conversationId": {
                              "type": "string",
                              "id": 2
                            },
                            "userAnswer": {
                              "type": "UserAnswer",
                              "id": 3
                            }
                          },
                          "nested": {
                            "UserAnswer": {
                              "oneofs": {
                                "type": {
                                  "oneof": [
                                    "textAnswer",
                                    "selectedAnswer"
                                  ]
                                }
                              },
                              "fields": {
                                "textAnswer": {
                                  "type": "string",
                                  "id": 1
                                },
                                "selectedAnswer": {
                                  "type": "SelectedAnswer",
                                  "id": 2
                                }
                              },
                              "nested": {
                                "SelectedAnswer": {
                                  "fields": {
                                    "productAttributeValues": {
                                      "rule": "repeated",
                                      "type": "ProductAttributeValue",
                                      "id": 1,
                                      "options": {
                                        "deprecated": true
                                      }
                                    },
                                    "productAttributeValue": {
                                      "type": "ProductAttributeValue",
                                      "id": 2
                                    }
                                  }
                                }
                              }
                            }
                          }
                        },
                        "TileNavigationSpec": {
                          "fields": {
                            "tileNavigationRequested": {
                              "type": "bool",
                              "id": 1
                            },
                            "appliedTiles": {
                              "rule": "repeated",
                              "type": "Tile",
                              "id": 2
                            }
                          }
                        },
                        "SearchMode": {
                          "values": {
                            "SEARCH_MODE_UNSPECIFIED": 0,
                            "PRODUCT_SEARCH_ONLY": 1,
                            "FACETED_SEARCH_ONLY": 2
                          }
                        }
                      }
                    },
                    "SearchResponse": {
                      "fields": {
                        "results": {
                          "rule": "repeated",
                          "type": "SearchResult",
                          "id": 1
                        },
                        "facets": {
                          "rule": "repeated",
                          "type": "Facet",
                          "id": 2
                        },
                        "totalSize": {
                          "type": "int32",
                          "id": 3
                        },
                        "correctedQuery": {
                          "type": "string",
                          "id": 4
                        },
                        "attributionToken": {
                          "type": "string",
                          "id": 5
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 6
                        },
                        "queryExpansionInfo": {
                          "type": "QueryExpansionInfo",
                          "id": 7
                        },
                        "redirectUri": {
                          "type": "string",
                          "id": 10
                        },
                        "appliedControls": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 12
                        },
                        "pinControlMetadata": {
                          "type": "PinControlMetadata",
                          "id": 22
                        },
                        "invalidConditionBoostSpecs": {
                          "rule": "repeated",
                          "type": "SearchRequest.BoostSpec.ConditionBoostSpec",
                          "id": 14
                        },
                        "experimentInfo": {
                          "rule": "repeated",
                          "type": "ExperimentInfo",
                          "id": 17
                        },
                        "conversationalSearchResult": {
                          "type": "ConversationalSearchResult",
                          "id": 18
                        },
                        "tileNavigationResult": {
                          "type": "TileNavigationResult",
                          "id": 19
                        }
                      },
                      "nested": {
                        "SearchResult": {
                          "fields": {
                            "id": {
                              "type": "string",
                              "id": 1
                            },
                            "product": {
                              "type": "Product",
                              "id": 2
                            },
                            "matchingVariantCount": {
                              "type": "int32",
                              "id": 3
                            },
                            "matchingVariantFields": {
                              "keyType": "string",
                              "type": "google.protobuf.FieldMask",
                              "id": 4
                            },
                            "variantRollupValues": {
                              "keyType": "string",
                              "type": "google.protobuf.Value",
                              "id": 5
                            },
                            "personalLabels": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 7
                            },
                            "modelScores": {
                              "keyType": "string",
                              "type": "DoubleList",
                              "id": 8
                            }
                          }
                        },
                        "Facet": {
                          "fields": {
                            "key": {
                              "type": "string",
                              "id": 1
                            },
                            "values": {
                              "rule": "repeated",
                              "type": "FacetValue",
                              "id": 2
                            },
                            "dynamicFacet": {
                              "type": "bool",
                              "id": 3
                            }
                          },
                          "nested": {
                            "FacetValue": {
                              "oneofs": {
                                "facetValue": {
                                  "oneof": [
                                    "value",
                                    "interval"
                                  ]
                                }
                              },
                              "fields": {
                                "value": {
                                  "type": "string",
                                  "id": 1
                                },
                                "interval": {
                                  "type": "Interval",
                                  "id": 2
                                },
                                "count": {
                                  "type": "int64",
                                  "id": 3
                                },
                                "minValue": {
                                  "type": "double",
                                  "id": 5
                                },
                                "maxValue": {
                                  "type": "double",
                                  "id": 6
                                }
                              }
                            }
                          }
                        },
                        "QueryExpansionInfo": {
                          "fields": {
                            "expandedQuery": {
                              "type": "bool",
                              "id": 1
                            },
                            "pinnedResultCount": {
                              "type": "int64",
                              "id": 2
                            }
                          }
                        },
                        "ConversationalSearchResult": {
                          "fields": {
                            "conversationId": {
                              "type": "string",
                              "id": 1
                            },
                            "refinedQuery": {
                              "type": "string",
                              "id": 2
                            },
                            "additionalFilters": {
                              "rule": "repeated",
                              "type": "AdditionalFilter",
                              "id": 3,
                              "options": {
                                "deprecated": true
                              }
                            },
                            "followupQuestion": {
                              "type": "string",
                              "id": 4
                            },
                            "suggestedAnswers": {
                              "rule": "repeated",
                              "type": "SuggestedAnswer",
                              "id": 5
                            },
                            "additionalFilter": {
                              "type": "AdditionalFilter",
                              "id": 6
                            }
                          },
                          "nested": {
                            "SuggestedAnswer": {
                              "fields": {
                                "productAttributeValue": {
                                  "type": "ProductAttributeValue",
                                  "id": 1
                                }
                              }
                            },
                            "AdditionalFilter": {
                              "fields": {
                                "productAttributeValue": {
                                  "type": "ProductAttributeValue",
                                  "id": 1
                                }
                              }
                            }
                          }
                        },
                        "TileNavigationResult": {
                          "fields": {
                            "tiles": {
                              "rule": "repeated",
                              "type": "Tile",
                              "id": 1
                            }
                          }
                        }
                      }
                    },
                    "ExperimentInfo": {
                      "oneofs": {
                        "experimentMetadata": {
                          "oneof": [
                            "servingConfigExperiment"
                          ]
                        }
                      },
                      "fields": {
                        "servingConfigExperiment": {
                          "type": "ServingConfigExperiment",
                          "id": 2
                        },
                        "experiment": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Experiment"
                          }
                        }
                      },
                      "nested": {
                        "ServingConfigExperiment": {
                          "fields": {
                            "originalServingConfig": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                              }
                            },
                            "experimentServingConfig": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                              }
                            }
                          }
                        }
                      }
                    },
                    "GenerativeQuestionsFeatureConfig": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "featureEnabled": {
                          "type": "bool",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "minimumProducts": {
                          "type": "int32",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GenerativeQuestionConfig": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "facet": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "generatedQuestion": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "finalQuestion": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "exampleValues": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "frequency": {
                          "type": "float",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "allowedInConversation": {
                          "type": "bool",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GenerativeQuestionService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "UpdateGenerativeQuestionsFeatureConfig": {
                          "requestType": "UpdateGenerativeQuestionsFeatureConfigRequest",
                          "responseType": "GenerativeQuestionsFeatureConfig",
                          "options": {
                            "(google.api.http).patch": "/v2/{generative_questions_feature_config.catalog=projects/*/locations/*/catalogs/*}/generativeQuestionFeature",
                            "(google.api.http).body": "generative_questions_feature_config",
                            "(google.api.method_signature)": "generative_questions_feature_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2/{generative_questions_feature_config.catalog=projects/*/locations/*/catalogs/*}/generativeQuestionFeature",
                                "body": "generative_questions_feature_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "generative_questions_feature_config,update_mask"
                            }
                          ]
                        },
                        "GetGenerativeQuestionsFeatureConfig": {
                          "requestType": "GetGenerativeQuestionsFeatureConfigRequest",
                          "responseType": "GenerativeQuestionsFeatureConfig",
                          "options": {
                            "(google.api.http).get": "/v2/{catalog=projects/*/locations/*/catalogs/*}/generativeQuestionFeature",
                            "(google.api.method_signature)": "catalog"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2/{catalog=projects/*/locations/*/catalogs/*}/generativeQuestionFeature"
                              }
                            },
                            {
                              "(google.api.method_signature)": "catalog"
                            }
                          ]
                        },
                        "ListGenerativeQuestionConfigs": {
                          "requestType": "ListGenerativeQuestionConfigsRequest",
                          "responseType": "ListGenerativeQuestionConfigsResponse",
                          "options": {
                            "(google.api.http).get": "/v2/{parent=projects/*/locations/*/catalogs/*}/generativeQuestions",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2/{parent=projects/*/locations/*/catalogs/*}/generativeQuestions"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "UpdateGenerativeQuestionConfig": {
                          "requestType": "UpdateGenerativeQuestionConfigRequest",
                          "responseType": "GenerativeQuestionConfig",
                          "options": {
                            "(google.api.http).patch": "/v2/{generative_question_config.catalog=projects/*/locations/*/catalogs/*}/generativeQuestion",
                            "(google.api.http).body": "generative_question_config",
                            "(google.api.method_signature)": "generative_question_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2/{generative_question_config.catalog=projects/*/locations/*/catalogs/*}/generativeQuestion",
                                "body": "generative_question_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "generative_question_config,update_mask"
                            }
                          ]
                        },
                        "BatchUpdateGenerativeQuestionConfigs": {
                          "requestType": "BatchUpdateGenerativeQuestionConfigsRequest",
                          "responseType": "BatchUpdateGenerativeQuestionConfigsResponse",
                          "options": {
                            "(google.api.http).post": "/v2/{parent=projects/*/locations/*/catalogs/*}/generativeQuestion:batchUpdate",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "parent,requests"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{parent=projects/*/locations/*/catalogs/*}/generativeQuestion:batchUpdate",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,requests"
                            }
                          ]
                        }
                      }
                    },
                    "UpdateGenerativeQuestionsFeatureConfigRequest": {
                      "fields": {
                        "generativeQuestionsFeatureConfig": {
                          "type": "GenerativeQuestionsFeatureConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GetGenerativeQuestionsFeatureConfigRequest": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        }
                      }
                    },
                    "ListGenerativeQuestionConfigsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        }
                      }
                    },
                    "ListGenerativeQuestionConfigsResponse": {
                      "fields": {
                        "generativeQuestionConfigs": {
                          "rule": "repeated",
                          "type": "GenerativeQuestionConfig",
                          "id": 1
                        }
                      }
                    },
                    "UpdateGenerativeQuestionConfigRequest": {
                      "fields": {
                        "generativeQuestionConfig": {
                          "type": "GenerativeQuestionConfig",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "BatchUpdateGenerativeQuestionConfigsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "requests": {
                          "rule": "repeated",
                          "type": "UpdateGenerativeQuestionConfigRequest",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchUpdateGenerativeQuestionConfigsResponse": {
                      "fields": {
                        "generativeQuestionConfigs": {
                          "rule": "repeated",
                          "type": "GenerativeQuestionConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "Model": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/Model",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/models/{model}"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "trainingState": {
                          "type": "TrainingState",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "servingState": {
                          "type": "ServingState",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "type": {
                          "type": "string",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "optimizationObjective": {
                          "type": "string",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "periodicTuningState": {
                          "type": "PeriodicTuningState",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "lastTuneTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 12,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "tuningOperation": {
                          "type": "string",
                          "id": 15,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "dataState": {
                          "type": "DataState",
                          "id": 16,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "filteringOption": {
                          "type": "RecommendationsFilteringOption",
                          "id": 18,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "servingConfigLists": {
                          "rule": "repeated",
                          "type": "ServingConfigList",
                          "id": 19,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "modelFeaturesConfig": {
                          "type": "ModelFeaturesConfig",
                          "id": 22,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "ServingConfigList": {
                          "fields": {
                            "servingConfigIds": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          }
                        },
                        "FrequentlyBoughtTogetherFeaturesConfig": {
                          "fields": {
                            "contextProductsType": {
                              "type": "ContextProductsType",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          }
                        },
                        "ModelFeaturesConfig": {
                          "oneofs": {
                            "typeDedicatedConfig": {
                              "oneof": [
                                "frequentlyBoughtTogetherConfig"
                              ]
                            }
                          },
                          "fields": {
                            "frequentlyBoughtTogetherConfig": {
                              "type": "FrequentlyBoughtTogetherFeaturesConfig",
                              "id": 1
                            }
                          }
                        },
                        "ServingState": {
                          "values": {
                            "SERVING_STATE_UNSPECIFIED": 0,
                            "INACTIVE": 1,
                            "ACTIVE": 2,
                            "TUNED": 3
                          }
                        },
                        "TrainingState": {
                          "values": {
                            "TRAINING_STATE_UNSPECIFIED": 0,
                            "PAUSED": 1,
                            "TRAINING": 2
                          }
                        },
                        "PeriodicTuningState": {
                          "values": {
                            "PERIODIC_TUNING_STATE_UNSPECIFIED": 0,
                            "PERIODIC_TUNING_DISABLED": 1,
                            "ALL_TUNING_DISABLED": 3,
                            "PERIODIC_TUNING_ENABLED": 2
                          }
                        },
                        "DataState": {
                          "values": {
                            "DATA_STATE_UNSPECIFIED": 0,
                            "DATA_OK": 1,
                            "DATA_ERROR": 2
                          }
                        },
                        "ContextProductsType": {
                          "values": {
                            "CONTEXT_PRODUCTS_TYPE_UNSPECIFIED": 0,
                            "SINGLE_CONTEXT_PRODUCT": 1,
                            "MULTIPLE_CONTEXT_PRODUCTS": 2
                          }
                        }
                      }
                    },
                    "ModelService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "CreateModel": {
                          "requestType": "CreateModelRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2/{parent=projects/*/locations/*/catalogs/*}/models",
                            "(google.api.http).body": "model",
                            "(google.api.method_signature)": "parent,model",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2.Model",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2.CreateModelMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{parent=projects/*/locations/*/catalogs/*}/models",
                                "body": "model"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,model"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2.Model",
                                "metadata_type": "google.cloud.retail.v2.CreateModelMetadata"
                              }
                            }
                          ]
                        },
                        "GetModel": {
                          "requestType": "GetModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).get": "/v2/{name=projects/*/locations/*/catalogs/*/models/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2/{name=projects/*/locations/*/catalogs/*/models/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "PauseModel": {
                          "requestType": "PauseModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).post": "/v2/{name=projects/*/locations/*/catalogs/*/models/*}:pause",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{name=projects/*/locations/*/catalogs/*/models/*}:pause",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ResumeModel": {
                          "requestType": "ResumeModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).post": "/v2/{name=projects/*/locations/*/catalogs/*/models/*}:resume",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{name=projects/*/locations/*/catalogs/*/models/*}:resume",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "DeleteModel": {
                          "requestType": "DeleteModelRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v2/{name=projects/*/locations/*/catalogs/*/models/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v2/{name=projects/*/locations/*/catalogs/*/models/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListModels": {
                          "requestType": "ListModelsRequest",
                          "responseType": "ListModelsResponse",
                          "options": {
                            "(google.api.http).get": "/v2/{parent=projects/*/locations/*/catalogs/*}/models",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2/{parent=projects/*/locations/*/catalogs/*}/models"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "UpdateModel": {
                          "requestType": "UpdateModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).patch": "/v2/{model.name=projects/*/locations/*/catalogs/*/models/*}",
                            "(google.api.http).body": "model",
                            "(google.api.method_signature)": "model,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2/{model.name=projects/*/locations/*/catalogs/*/models/*}",
                                "body": "model"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,update_mask"
                            }
                          ]
                        },
                        "TuneModel": {
                          "requestType": "TuneModelRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2/{name=projects/*/locations/*/catalogs/*/models/*}:tune",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2.TuneModelResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2.TuneModelMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{name=projects/*/locations/*/catalogs/*/models/*}:tune",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2.TuneModelResponse",
                                "metadata_type": "google.cloud.retail.v2.TuneModelMetadata"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "CreateModelRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "model": {
                          "type": "Model",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "dryRun": {
                          "type": "bool",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "UpdateModelRequest": {
                      "fields": {
                        "model": {
                          "type": "Model",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GetModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "PauseModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "ResumeModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "ListModelsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "DeleteModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "ListModelsResponse": {
                      "fields": {
                        "models": {
                          "rule": "repeated",
                          "type": "Model",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "TuneModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "CreateModelMetadata": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "TuneModelMetadata": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "TuneModelResponse": {
                      "fields": {}
                    },
                    "PredictionService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "Predict": {
                          "requestType": "PredictRequest",
                          "responseType": "PredictResponse",
                          "options": {
                            "(google.api.http).post": "/v2/{placement=projects/*/locations/*/catalogs/*/placements/*}:predict",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v2/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:predict",
                            "(google.api.http).additional_bindings.body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{placement=projects/*/locations/*/catalogs/*/placements/*}:predict",
                                "body": "*",
                                "additional_bindings": {
                                  "post": "/v2/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:predict",
                                  "body": "*"
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    "PredictRequest": {
                      "fields": {
                        "placement": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userEvent": {
                          "type": "UserEvent",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 3
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 5
                        },
                        "validateOnly": {
                          "type": "bool",
                          "id": 6
                        },
                        "params": {
                          "keyType": "string",
                          "type": "google.protobuf.Value",
                          "id": 7
                        },
                        "labels": {
                          "keyType": "string",
                          "type": "string",
                          "id": 8
                        }
                      }
                    },
                    "PredictResponse": {
                      "fields": {
                        "results": {
                          "rule": "repeated",
                          "type": "PredictionResult",
                          "id": 1
                        },
                        "attributionToken": {
                          "type": "string",
                          "id": 2
                        },
                        "missingIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3
                        },
                        "validateOnly": {
                          "type": "bool",
                          "id": 4
                        }
                      },
                      "nested": {
                        "PredictionResult": {
                          "fields": {
                            "id": {
                              "type": "string",
                              "id": 1
                            },
                            "metadata": {
                              "keyType": "string",
                              "type": "google.protobuf.Value",
                              "id": 2
                            }
                          }
                        }
                      }
                    },
                    "ProductService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "CreateProduct": {
                          "requestType": "CreateProductRequest",
                          "responseType": "Product",
                          "options": {
                            "(google.api.http).post": "/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products",
                            "(google.api.http).body": "product",
                            "(google.api.method_signature)": "parent,product,product_id"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products",
                                "body": "product"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,product,product_id"
                            }
                          ]
                        },
                        "GetProduct": {
                          "requestType": "GetProductRequest",
                          "responseType": "Product",
                          "options": {
                            "(google.api.http).get": "/v2/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListProducts": {
                          "requestType": "ListProductsRequest",
                          "responseType": "ListProductsResponse",
                          "options": {
                            "(google.api.http).get": "/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "UpdateProduct": {
                          "requestType": "UpdateProductRequest",
                          "responseType": "Product",
                          "options": {
                            "(google.api.http).patch": "/v2/{product.name=projects/*/locations/*/catalogs/*/branches/*/products/**}",
                            "(google.api.http).body": "product",
                            "(google.api.method_signature)": "product,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2/{product.name=projects/*/locations/*/catalogs/*/branches/*/products/**}",
                                "body": "product"
                              }
                            },
                            {
                              "(google.api.method_signature)": "product,update_mask"
                            }
                          ]
                        },
                        "DeleteProduct": {
                          "requestType": "DeleteProductRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v2/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v2/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "PurgeProducts": {
                          "requestType": "PurgeProductsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:purge",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2.PurgeProductsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2.PurgeProductsMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:purge",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2.PurgeProductsResponse",
                                "metadata_type": "google.cloud.retail.v2.PurgeProductsMetadata"
                              }
                            }
                          ]
                        },
                        "ImportProducts": {
                          "requestType": "ImportProductsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:import",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2.ImportProductsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2.ImportMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:import",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2.ImportProductsResponse",
                                "metadata_type": "google.cloud.retail.v2.ImportMetadata"
                              }
                            }
                          ]
                        },
                        "SetInventory": {
                          "requestType": "SetInventoryRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2/{inventory.name=projects/*/locations/*/catalogs/*/branches/*/products/**}:setInventory",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "inventory,set_mask",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2.SetInventoryResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2.SetInventoryMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{inventory.name=projects/*/locations/*/catalogs/*/branches/*/products/**}:setInventory",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "inventory,set_mask"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2.SetInventoryResponse",
                                "metadata_type": "google.cloud.retail.v2.SetInventoryMetadata"
                              }
                            }
                          ]
                        },
                        "AddFulfillmentPlaces": {
                          "requestType": "AddFulfillmentPlacesRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addFulfillmentPlaces",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "product",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2.AddFulfillmentPlacesResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2.AddFulfillmentPlacesMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addFulfillmentPlaces",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "product"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2.AddFulfillmentPlacesResponse",
                                "metadata_type": "google.cloud.retail.v2.AddFulfillmentPlacesMetadata"
                              }
                            }
                          ]
                        },
                        "RemoveFulfillmentPlaces": {
                          "requestType": "RemoveFulfillmentPlacesRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeFulfillmentPlaces",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "product",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2.RemoveFulfillmentPlacesResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2.RemoveFulfillmentPlacesMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeFulfillmentPlaces",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "product"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2.RemoveFulfillmentPlacesResponse",
                                "metadata_type": "google.cloud.retail.v2.RemoveFulfillmentPlacesMetadata"
                              }
                            }
                          ]
                        },
                        "AddLocalInventories": {
                          "requestType": "AddLocalInventoriesRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addLocalInventories",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "product",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2.AddLocalInventoriesResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2.AddLocalInventoriesMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addLocalInventories",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "product"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2.AddLocalInventoriesResponse",
                                "metadata_type": "google.cloud.retail.v2.AddLocalInventoriesMetadata"
                              }
                            }
                          ]
                        },
                        "RemoveLocalInventories": {
                          "requestType": "RemoveLocalInventoriesRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeLocalInventories",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "product",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2.RemoveLocalInventoriesResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2.RemoveLocalInventoriesMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeLocalInventories",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "product"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2.RemoveLocalInventoriesResponse",
                                "metadata_type": "google.cloud.retail.v2.RemoveLocalInventoriesMetadata"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "CreateProductRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "product": {
                          "type": "Product",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "productId": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "GetProductRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        }
                      }
                    },
                    "UpdateProductRequest": {
                      "fields": {
                        "product": {
                          "type": "Product",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 3
                        }
                      }
                    },
                    "DeleteProductRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        }
                      }
                    },
                    "ListProductsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3
                        },
                        "filter": {
                          "type": "string",
                          "id": 4
                        },
                        "readMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 5
                        }
                      }
                    },
                    "ListProductsResponse": {
                      "fields": {
                        "products": {
                          "rule": "repeated",
                          "type": "Product",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "SetInventoryRequest": {
                      "fields": {
                        "inventory": {
                          "type": "Product",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "setMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        },
                        "setTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 3
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 4
                        }
                      }
                    },
                    "SetInventoryMetadata": {
                      "fields": {}
                    },
                    "SetInventoryResponse": {
                      "fields": {}
                    },
                    "AddFulfillmentPlacesRequest": {
                      "fields": {
                        "product": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        },
                        "type": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "placeIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "addTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 5
                        }
                      }
                    },
                    "AddFulfillmentPlacesMetadata": {
                      "fields": {}
                    },
                    "AddFulfillmentPlacesResponse": {
                      "fields": {}
                    },
                    "AddLocalInventoriesRequest": {
                      "fields": {
                        "product": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        },
                        "localInventories": {
                          "rule": "repeated",
                          "type": "LocalInventory",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "addMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 4
                        },
                        "addTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 6
                        }
                      }
                    },
                    "AddLocalInventoriesMetadata": {
                      "fields": {}
                    },
                    "AddLocalInventoriesResponse": {
                      "fields": {}
                    },
                    "RemoveLocalInventoriesRequest": {
                      "fields": {
                        "product": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        },
                        "placeIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "removeTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 3
                        }
                      }
                    },
                    "RemoveLocalInventoriesMetadata": {
                      "fields": {}
                    },
                    "RemoveLocalInventoriesResponse": {
                      "fields": {}
                    },
                    "RemoveFulfillmentPlacesRequest": {
                      "fields": {
                        "product": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        },
                        "type": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "placeIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "removeTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 5
                        }
                      }
                    },
                    "RemoveFulfillmentPlacesMetadata": {
                      "fields": {}
                    },
                    "RemoveFulfillmentPlacesResponse": {
                      "fields": {}
                    },
                    "PurgeMetadata": {
                      "fields": {}
                    },
                    "PurgeProductsMetadata": {
                      "fields": {
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 1
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2
                        },
                        "successCount": {
                          "type": "int64",
                          "id": 3
                        },
                        "failureCount": {
                          "type": "int64",
                          "id": 4
                        }
                      }
                    },
                    "PurgeProductsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "force": {
                          "type": "bool",
                          "id": 3
                        }
                      }
                    },
                    "PurgeProductsResponse": {
                      "fields": {
                        "purgeCount": {
                          "type": "int64",
                          "id": 1
                        },
                        "purgeSample": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        }
                      }
                    },
                    "PurgeUserEventsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "force": {
                          "type": "bool",
                          "id": 3
                        }
                      }
                    },
                    "PurgeUserEventsResponse": {
                      "fields": {
                        "purgedEventsCount": {
                          "type": "int64",
                          "id": 1
                        }
                      }
                    },
                    "ServingConfig": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/ServingConfig",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/servingConfigs/{serving_config}"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "modelId": {
                          "type": "string",
                          "id": 3
                        },
                        "priceRerankingLevel": {
                          "type": "string",
                          "id": 4
                        },
                        "facetControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5
                        },
                        "dynamicFacetSpec": {
                          "type": "SearchRequest.DynamicFacetSpec",
                          "id": 6
                        },
                        "boostControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 7
                        },
                        "filterControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 9
                        },
                        "redirectControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 10
                        },
                        "twowaySynonymsControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 18
                        },
                        "onewaySynonymsControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 12
                        },
                        "doNotAssociateControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 13
                        },
                        "replacementControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 14
                        },
                        "ignoreControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 15
                        },
                        "diversityLevel": {
                          "type": "string",
                          "id": 8
                        },
                        "diversityType": {
                          "type": "DiversityType",
                          "id": 20
                        },
                        "enableCategoryFilterLevel": {
                          "type": "string",
                          "id": 16
                        },
                        "ignoreRecsDenylist": {
                          "type": "bool",
                          "id": 24
                        },
                        "personalizationSpec": {
                          "type": "SearchRequest.PersonalizationSpec",
                          "id": 21
                        },
                        "solutionTypes": {
                          "rule": "repeated",
                          "type": "SolutionType",
                          "id": 19,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        }
                      },
                      "nested": {
                        "DiversityType": {
                          "values": {
                            "DIVERSITY_TYPE_UNSPECIFIED": 0,
                            "RULE_BASED_DIVERSITY": 2,
                            "DATA_DRIVEN_DIVERSITY": 3
                          }
                        }
                      }
                    },
                    "ServingConfigService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "CreateServingConfig": {
                          "requestType": "CreateServingConfigRequest",
                          "responseType": "ServingConfig",
                          "options": {
                            "(google.api.http).post": "/v2/{parent=projects/*/locations/*/catalogs/*}/servingConfigs",
                            "(google.api.http).body": "serving_config",
                            "(google.api.method_signature)": "parent,serving_config,serving_config_id"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{parent=projects/*/locations/*/catalogs/*}/servingConfigs",
                                "body": "serving_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,serving_config,serving_config_id"
                            }
                          ]
                        },
                        "DeleteServingConfig": {
                          "requestType": "DeleteServingConfigRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v2/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v2/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateServingConfig": {
                          "requestType": "UpdateServingConfigRequest",
                          "responseType": "ServingConfig",
                          "options": {
                            "(google.api.http).patch": "/v2/{serving_config.name=projects/*/locations/*/catalogs/*/servingConfigs/*}",
                            "(google.api.http).body": "serving_config",
                            "(google.api.method_signature)": "serving_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2/{serving_config.name=projects/*/locations/*/catalogs/*/servingConfigs/*}",
                                "body": "serving_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "serving_config,update_mask"
                            }
                          ]
                        },
                        "GetServingConfig": {
                          "requestType": "GetServingConfigRequest",
                          "responseType": "ServingConfig",
                          "options": {
                            "(google.api.http).get": "/v2/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListServingConfigs": {
                          "requestType": "ListServingConfigsRequest",
                          "responseType": "ListServingConfigsResponse",
                          "options": {
                            "(google.api.http).get": "/v2/{parent=projects/*/locations/*/catalogs/*}/servingConfigs",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2/{parent=projects/*/locations/*/catalogs/*}/servingConfigs"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "AddControl": {
                          "requestType": "AddControlRequest",
                          "responseType": "ServingConfig",
                          "options": {
                            "(google.api.http).post": "/v2/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:addControl",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "serving_config"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:addControl",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "serving_config"
                            }
                          ]
                        },
                        "RemoveControl": {
                          "requestType": "RemoveControlRequest",
                          "responseType": "ServingConfig",
                          "options": {
                            "(google.api.http).post": "/v2/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:removeControl",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "serving_config"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:removeControl",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "serving_config"
                            }
                          ]
                        }
                      }
                    },
                    "CreateServingConfigRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "servingConfig": {
                          "type": "ServingConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "servingConfigId": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "UpdateServingConfigRequest": {
                      "fields": {
                        "servingConfig": {
                          "type": "ServingConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "DeleteServingConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                          }
                        }
                      }
                    },
                    "GetServingConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                          }
                        }
                      }
                    },
                    "ListServingConfigsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListServingConfigsResponse": {
                      "fields": {
                        "servingConfigs": {
                          "rule": "repeated",
                          "type": "ServingConfig",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "AddControlRequest": {
                      "fields": {
                        "servingConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                          }
                        },
                        "controlId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "RemoveControlRequest": {
                      "fields": {
                        "servingConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                          }
                        },
                        "controlId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "UserEventService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "WriteUserEvent": {
                          "requestType": "WriteUserEventRequest",
                          "responseType": "UserEvent",
                          "options": {
                            "(google.api.http).post": "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:write",
                            "(google.api.http).body": "user_event"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:write",
                                "body": "user_event"
                              }
                            }
                          ]
                        },
                        "CollectUserEvent": {
                          "requestType": "CollectUserEventRequest",
                          "responseType": "google.api.HttpBody",
                          "options": {
                            "(google.api.http).get": "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect",
                            "(google.api.http).additional_bindings.post": "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect",
                            "(google.api.http).additional_bindings.body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect",
                                "additional_bindings": {
                                  "post": "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect",
                                  "body": "*"
                                }
                              }
                            }
                          ]
                        },
                        "PurgeUserEvents": {
                          "requestType": "PurgeUserEventsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:purge",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2.PurgeUserEventsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2.PurgeMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:purge",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2.PurgeUserEventsResponse",
                                "metadata_type": "google.cloud.retail.v2.PurgeMetadata"
                              }
                            }
                          ]
                        },
                        "ImportUserEvents": {
                          "requestType": "ImportUserEventsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:import",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2.ImportUserEventsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2.ImportMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:import",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2.ImportUserEventsResponse",
                                "metadata_type": "google.cloud.retail.v2.ImportMetadata"
                              }
                            }
                          ]
                        },
                        "RejoinUserEvents": {
                          "requestType": "RejoinUserEventsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:rejoin",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "RejoinUserEventsResponse",
                            "(google.longrunning.operation_info).metadata_type": "RejoinUserEventsMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:rejoin",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "RejoinUserEventsResponse",
                                "metadata_type": "RejoinUserEventsMetadata"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "WriteUserEventRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userEvent": {
                          "type": "UserEvent",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "writeAsync": {
                          "type": "bool",
                          "id": 3
                        }
                      }
                    },
                    "CollectUserEventRequest": {
                      "oneofs": {
                        "conversionRule": {
                          "oneof": [
                            "prebuiltRule"
                          ]
                        }
                      },
                      "fields": {
                        "prebuiltRule": {
                          "type": "string",
                          "id": 6
                        },
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userEvent": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "uri": {
                          "type": "string",
                          "id": 3
                        },
                        "ets": {
                          "type": "int64",
                          "id": 4
                        },
                        "rawJson": {
                          "type": "string",
                          "id": 5
                        }
                      }
                    },
                    "RejoinUserEventsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userEventRejoinScope": {
                          "type": "UserEventRejoinScope",
                          "id": 2
                        }
                      },
                      "nested": {
                        "UserEventRejoinScope": {
                          "values": {
                            "USER_EVENT_REJOIN_SCOPE_UNSPECIFIED": 0,
                            "JOINED_EVENTS": 1,
                            "UNJOINED_EVENTS": 2
                          }
                        }
                      }
                    },
                    "RejoinUserEventsResponse": {
                      "fields": {
                        "rejoinedUserEventsCount": {
                          "type": "int64",
                          "id": 1
                        }
                      }
                    },
                    "RejoinUserEventsMetadata": {
                      "fields": {}
                    }
                  }
                },
                "v2alpha": {
                  "options": {
                    "csharp_namespace": "Google.Cloud.Retail.V2Alpha",
                    "go_package": "cloud.google.com/go/retail/apiv2alpha/retailpb;retailpb",
                    "java_multiple_files": true,
                    "java_outer_classname": "UserEventServiceProto",
                    "java_package": "com.google.cloud.retail.v2alpha",
                    "objc_class_prefix": "RETAIL",
                    "php_namespace": "Google\\Cloud\\Retail\\V2alpha",
                    "ruby_package": "Google::Cloud::Retail::V2alpha",
                    "(google.api.resource_definition).type": "retail.googleapis.com/Experiment",
                    "(google.api.resource_definition).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/experiments/{experiment}"
                  },
                  "nested": {
                    "AnalyticsService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "ExportAnalyticsMetrics": {
                          "requestType": "ExportAnalyticsMetricsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{catalog=projects/*/locations/*/catalogs/*}:exportAnalyticsMetrics",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.ExportAnalyticsMetricsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.ExportMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{catalog=projects/*/locations/*/catalogs/*}:exportAnalyticsMetrics",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.ExportAnalyticsMetricsResponse",
                                "metadata_type": "google.cloud.retail.v2alpha.ExportMetadata"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "OutputConfig": {
                      "oneofs": {
                        "destination": {
                          "oneof": [
                            "gcsDestination",
                            "bigqueryDestination"
                          ]
                        }
                      },
                      "fields": {
                        "gcsDestination": {
                          "type": "GcsDestination",
                          "id": 1
                        },
                        "bigqueryDestination": {
                          "type": "BigQueryDestination",
                          "id": 2
                        }
                      },
                      "nested": {
                        "GcsDestination": {
                          "fields": {
                            "outputUriPrefix": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        },
                        "BigQueryDestination": {
                          "fields": {
                            "datasetId": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "tableIdPrefix": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "tableType": {
                              "type": "string",
                              "id": 3,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        }
                      }
                    },
                    "ExportErrorsConfig": {
                      "oneofs": {
                        "destination": {
                          "oneof": [
                            "gcsPrefix"
                          ]
                        }
                      },
                      "fields": {
                        "gcsPrefix": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "ExportProductsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "outputConfig": {
                          "type": "OutputConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ExportUserEventsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "outputConfig": {
                          "type": "OutputConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ExportAnalyticsMetricsRequest": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "outputConfig": {
                          "type": "OutputConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ExportMetadata": {
                      "fields": {
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 1
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2
                        }
                      }
                    },
                    "ExportProductsResponse": {
                      "fields": {
                        "errorSamples": {
                          "rule": "repeated",
                          "type": "google.rpc.Status",
                          "id": 1
                        },
                        "errorsConfig": {
                          "type": "ExportErrorsConfig",
                          "id": 2
                        },
                        "outputResult": {
                          "type": "OutputResult",
                          "id": 3
                        }
                      }
                    },
                    "ExportUserEventsResponse": {
                      "fields": {
                        "errorSamples": {
                          "rule": "repeated",
                          "type": "google.rpc.Status",
                          "id": 1
                        },
                        "errorsConfig": {
                          "type": "ExportErrorsConfig",
                          "id": 2
                        },
                        "outputResult": {
                          "type": "OutputResult",
                          "id": 3
                        }
                      }
                    },
                    "ExportAnalyticsMetricsResponse": {
                      "fields": {
                        "errorSamples": {
                          "rule": "repeated",
                          "type": "google.rpc.Status",
                          "id": 1
                        },
                        "errorsConfig": {
                          "type": "ExportErrorsConfig",
                          "id": 2
                        },
                        "outputResult": {
                          "type": "OutputResult",
                          "id": 3
                        }
                      }
                    },
                    "OutputResult": {
                      "fields": {
                        "bigqueryResult": {
                          "rule": "repeated",
                          "type": "BigQueryOutputResult",
                          "id": 1
                        },
                        "gcsResult": {
                          "rule": "repeated",
                          "type": "GcsOutputResult",
                          "id": 2
                        }
                      }
                    },
                    "BigQueryOutputResult": {
                      "fields": {
                        "datasetId": {
                          "type": "string",
                          "id": 1
                        },
                        "tableId": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "GcsOutputResult": {
                      "fields": {
                        "outputUri": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "BranchView": {
                      "values": {
                        "BRANCH_VIEW_UNSPECIFIED": 0,
                        "BRANCH_VIEW_BASIC": 1,
                        "BRANCH_VIEW_FULL": 2
                      }
                    },
                    "Branch": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/Branch",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/branches/{branch}"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "isDefault": {
                          "type": "bool",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "lastProductImportTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "productCountStats": {
                          "rule": "repeated",
                          "type": "ProductCountStatistic",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "qualityMetrics": {
                          "rule": "repeated",
                          "type": "QualityMetric",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "ProductCountStatistic": {
                          "fields": {
                            "scope": {
                              "type": "ProductCountScope",
                              "id": 1
                            },
                            "counts": {
                              "keyType": "string",
                              "type": "int64",
                              "id": 2
                            }
                          },
                          "nested": {
                            "ProductCountScope": {
                              "values": {
                                "PRODUCT_COUNT_SCOPE_UNSPECIFIED": 0,
                                "ALL_PRODUCTS": 1,
                                "LAST_24_HOUR_UPDATE": 2
                              }
                            }
                          }
                        },
                        "QualityMetric": {
                          "fields": {
                            "requirementKey": {
                              "type": "string",
                              "id": 1
                            },
                            "qualifiedProductCount": {
                              "type": "int32",
                              "id": 2
                            },
                            "unqualifiedProductCount": {
                              "type": "int32",
                              "id": 3
                            },
                            "suggestedQualityPercentThreshold": {
                              "type": "double",
                              "id": 4
                            },
                            "unqualifiedSampleProducts": {
                              "rule": "repeated",
                              "type": "Product",
                              "id": 5
                            }
                          }
                        }
                      }
                    },
                    "Product": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/Product",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/branches/{branch}/products/{product}"
                      },
                      "oneofs": {
                        "expiration": {
                          "oneof": [
                            "expireTime",
                            "ttl"
                          ]
                        }
                      },
                      "fields": {
                        "expireTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 16
                        },
                        "ttl": {
                          "type": "google.protobuf.Duration",
                          "id": 17,
                          "options": {
                            "(google.api.field_behavior)": "INPUT_ONLY"
                          }
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "id": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "type": {
                          "type": "Type",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "primaryProductId": {
                          "type": "string",
                          "id": 4
                        },
                        "collectionMemberIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5
                        },
                        "gtin": {
                          "type": "string",
                          "id": 6
                        },
                        "categories": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 7
                        },
                        "title": {
                          "type": "string",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "brands": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 9
                        },
                        "description": {
                          "type": "string",
                          "id": 10
                        },
                        "languageCode": {
                          "type": "string",
                          "id": 11
                        },
                        "attributes": {
                          "keyType": "string",
                          "type": "CustomAttribute",
                          "id": 12
                        },
                        "tags": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 13
                        },
                        "priceInfo": {
                          "type": "PriceInfo",
                          "id": 14
                        },
                        "rating": {
                          "type": "Rating",
                          "id": 15
                        },
                        "availableTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 18
                        },
                        "availability": {
                          "type": "Availability",
                          "id": 19
                        },
                        "availableQuantity": {
                          "type": "google.protobuf.Int32Value",
                          "id": 20
                        },
                        "fulfillmentInfo": {
                          "rule": "repeated",
                          "type": "FulfillmentInfo",
                          "id": 21
                        },
                        "uri": {
                          "type": "string",
                          "id": 22
                        },
                        "images": {
                          "rule": "repeated",
                          "type": "Image",
                          "id": 23
                        },
                        "audience": {
                          "type": "Audience",
                          "id": 24
                        },
                        "colorInfo": {
                          "type": "ColorInfo",
                          "id": 25
                        },
                        "sizes": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 26
                        },
                        "materials": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 27
                        },
                        "patterns": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 28
                        },
                        "conditions": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 29
                        },
                        "promotions": {
                          "rule": "repeated",
                          "type": "Promotion",
                          "id": 34
                        },
                        "publishTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 33
                        },
                        "retrievableFields": {
                          "type": "google.protobuf.FieldMask",
                          "id": 30,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "variants": {
                          "rule": "repeated",
                          "type": "Product",
                          "id": 31,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "localInventories": {
                          "rule": "repeated",
                          "type": "LocalInventory",
                          "id": 35,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "Type": {
                          "values": {
                            "TYPE_UNSPECIFIED": 0,
                            "PRIMARY": 1,
                            "VARIANT": 2,
                            "COLLECTION": 3
                          }
                        },
                        "Availability": {
                          "values": {
                            "AVAILABILITY_UNSPECIFIED": 0,
                            "IN_STOCK": 1,
                            "OUT_OF_STOCK": 2,
                            "PREORDER": 3,
                            "BACKORDER": 4
                          }
                        }
                      }
                    },
                    "AttributeConfigLevel": {
                      "values": {
                        "ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED": 0,
                        "PRODUCT_LEVEL_ATTRIBUTE_CONFIG": 1,
                        "CATALOG_LEVEL_ATTRIBUTE_CONFIG": 2
                      }
                    },
                    "SolutionType": {
                      "values": {
                        "SOLUTION_TYPE_UNSPECIFIED": 0,
                        "SOLUTION_TYPE_RECOMMENDATION": 1,
                        "SOLUTION_TYPE_SEARCH": 2
                      }
                    },
                    "RecommendationsFilteringOption": {
                      "values": {
                        "RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED": 0,
                        "RECOMMENDATIONS_FILTERING_DISABLED": 1,
                        "RECOMMENDATIONS_FILTERING_ENABLED": 3
                      }
                    },
                    "SearchSolutionUseCase": {
                      "values": {
                        "SEARCH_SOLUTION_USE_CASE_UNSPECIFIED": 0,
                        "SEARCH_SOLUTION_USE_CASE_SEARCH": 1,
                        "SEARCH_SOLUTION_USE_CASE_BROWSE": 2
                      }
                    },
                    "Condition": {
                      "fields": {
                        "queryTerms": {
                          "rule": "repeated",
                          "type": "QueryTerm",
                          "id": 1
                        },
                        "activeTimeRange": {
                          "rule": "repeated",
                          "type": "TimeRange",
                          "id": 3
                        },
                        "pageCategories": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 4
                        }
                      },
                      "nested": {
                        "QueryTerm": {
                          "fields": {
                            "value": {
                              "type": "string",
                              "id": 1
                            },
                            "fullMatch": {
                              "type": "bool",
                              "id": 2
                            }
                          }
                        },
                        "TimeRange": {
                          "fields": {
                            "startTime": {
                              "type": "google.protobuf.Timestamp",
                              "id": 1
                            },
                            "endTime": {
                              "type": "google.protobuf.Timestamp",
                              "id": 2
                            }
                          }
                        }
                      }
                    },
                    "Rule": {
                      "oneofs": {
                        "action": {
                          "oneof": [
                            "boostAction",
                            "redirectAction",
                            "onewaySynonymsAction",
                            "doNotAssociateAction",
                            "replacementAction",
                            "ignoreAction",
                            "filterAction",
                            "twowaySynonymsAction",
                            "forceReturnFacetAction",
                            "removeFacetAction",
                            "pinAction"
                          ]
                        }
                      },
                      "fields": {
                        "boostAction": {
                          "type": "BoostAction",
                          "id": 2
                        },
                        "redirectAction": {
                          "type": "RedirectAction",
                          "id": 3
                        },
                        "onewaySynonymsAction": {
                          "type": "OnewaySynonymsAction",
                          "id": 6
                        },
                        "doNotAssociateAction": {
                          "type": "DoNotAssociateAction",
                          "id": 7
                        },
                        "replacementAction": {
                          "type": "ReplacementAction",
                          "id": 8
                        },
                        "ignoreAction": {
                          "type": "IgnoreAction",
                          "id": 9
                        },
                        "filterAction": {
                          "type": "FilterAction",
                          "id": 10
                        },
                        "twowaySynonymsAction": {
                          "type": "TwowaySynonymsAction",
                          "id": 11
                        },
                        "forceReturnFacetAction": {
                          "type": "ForceReturnFacetAction",
                          "id": 12
                        },
                        "removeFacetAction": {
                          "type": "RemoveFacetAction",
                          "id": 13
                        },
                        "pinAction": {
                          "type": "PinAction",
                          "id": 14
                        },
                        "condition": {
                          "type": "Condition",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "BoostAction": {
                          "fields": {
                            "boost": {
                              "type": "float",
                              "id": 1
                            },
                            "productsFilter": {
                              "type": "string",
                              "id": 2
                            }
                          }
                        },
                        "FilterAction": {
                          "fields": {
                            "filter": {
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "RedirectAction": {
                          "fields": {
                            "redirectUri": {
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "TwowaySynonymsAction": {
                          "fields": {
                            "synonyms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "OnewaySynonymsAction": {
                          "fields": {
                            "queryTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 3
                            },
                            "synonyms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 4
                            },
                            "onewayTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 2
                            }
                          }
                        },
                        "DoNotAssociateAction": {
                          "fields": {
                            "queryTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 2
                            },
                            "doNotAssociateTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 3
                            },
                            "terms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "ReplacementAction": {
                          "fields": {
                            "queryTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 2
                            },
                            "replacementTerm": {
                              "type": "string",
                              "id": 3
                            },
                            "term": {
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "IgnoreAction": {
                          "fields": {
                            "ignoreTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "ForceReturnFacetAction": {
                          "fields": {
                            "facetPositionAdjustments": {
                              "rule": "repeated",
                              "type": "FacetPositionAdjustment",
                              "id": 1
                            }
                          },
                          "nested": {
                            "FacetPositionAdjustment": {
                              "fields": {
                                "attributeName": {
                                  "type": "string",
                                  "id": 1
                                },
                                "position": {
                                  "type": "int32",
                                  "id": 2
                                }
                              }
                            }
                          }
                        },
                        "RemoveFacetAction": {
                          "fields": {
                            "attributeNames": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "PinAction": {
                          "fields": {
                            "pinMap": {
                              "keyType": "int64",
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        }
                      }
                    },
                    "Audience": {
                      "fields": {
                        "genders": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        },
                        "ageGroups": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "ColorInfo": {
                      "fields": {
                        "colorFamilies": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        },
                        "colors": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "CustomAttribute": {
                      "oneofs": {
                        "_searchable": {
                          "oneof": [
                            "searchable"
                          ]
                        },
                        "_indexable": {
                          "oneof": [
                            "indexable"
                          ]
                        }
                      },
                      "fields": {
                        "text": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        },
                        "numbers": {
                          "rule": "repeated",
                          "type": "double",
                          "id": 2
                        },
                        "searchable": {
                          "type": "bool",
                          "id": 3,
                          "options": {
                            "deprecated": true,
                            "proto3_optional": true
                          }
                        },
                        "indexable": {
                          "type": "bool",
                          "id": 4,
                          "options": {
                            "deprecated": true,
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "FulfillmentInfo": {
                      "fields": {
                        "type": {
                          "type": "string",
                          "id": 1
                        },
                        "placeIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "Image": {
                      "fields": {
                        "uri": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "height": {
                          "type": "int32",
                          "id": 2
                        },
                        "width": {
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "Interval": {
                      "oneofs": {
                        "min": {
                          "oneof": [
                            "minimum",
                            "exclusiveMinimum"
                          ]
                        },
                        "max": {
                          "oneof": [
                            "maximum",
                            "exclusiveMaximum"
                          ]
                        }
                      },
                      "fields": {
                        "minimum": {
                          "type": "double",
                          "id": 1
                        },
                        "exclusiveMinimum": {
                          "type": "double",
                          "id": 2
                        },
                        "maximum": {
                          "type": "double",
                          "id": 3
                        },
                        "exclusiveMaximum": {
                          "type": "double",
                          "id": 4
                        }
                      }
                    },
                    "PriceInfo": {
                      "fields": {
                        "currencyCode": {
                          "type": "string",
                          "id": 1
                        },
                        "price": {
                          "type": "float",
                          "id": 2
                        },
                        "originalPrice": {
                          "type": "float",
                          "id": 3
                        },
                        "cost": {
                          "type": "float",
                          "id": 4
                        },
                        "priceEffectiveTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5
                        },
                        "priceExpireTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 6
                        },
                        "priceRange": {
                          "type": "PriceRange",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "PriceRange": {
                          "fields": {
                            "price": {
                              "type": "Interval",
                              "id": 1
                            },
                            "originalPrice": {
                              "type": "Interval",
                              "id": 2
                            }
                          }
                        }
                      }
                    },
                    "Rating": {
                      "fields": {
                        "ratingCount": {
                          "type": "int32",
                          "id": 1
                        },
                        "averageRating": {
                          "type": "float",
                          "id": 2
                        },
                        "ratingHistogram": {
                          "rule": "repeated",
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "UserInfo": {
                      "fields": {
                        "userId": {
                          "type": "string",
                          "id": 1
                        },
                        "ipAddress": {
                          "type": "string",
                          "id": 2
                        },
                        "userAgent": {
                          "type": "string",
                          "id": 3
                        },
                        "directUserRequest": {
                          "type": "bool",
                          "id": 4
                        }
                      }
                    },
                    "LocalInventory": {
                      "fields": {
                        "placeId": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "priceInfo": {
                          "type": "PriceInfo",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "availability": {
                          "type": "Availability",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "attributes": {
                          "keyType": "string",
                          "type": "CustomAttribute",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "fulfillmentTypes": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "Availability": {
                          "values": {
                            "AVAILABILITY_UNSPECIFIED": 0,
                            "IN_STOCK": 1,
                            "OUT_OF_STOCK": 2,
                            "PREORDER": 3,
                            "BACKORDER": 4
                          }
                        }
                      }
                    },
                    "PinControlMetadata": {
                      "fields": {
                        "allMatchedPins": {
                          "keyType": "int64",
                          "type": "ProductPins",
                          "id": 1
                        },
                        "droppedPins": {
                          "keyType": "int64",
                          "type": "ProductPins",
                          "id": 2
                        }
                      },
                      "nested": {
                        "ProductPins": {
                          "fields": {
                            "productId": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        }
                      }
                    },
                    "StringList": {
                      "fields": {
                        "values": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "DoubleList": {
                      "fields": {
                        "values": {
                          "rule": "repeated",
                          "type": "double",
                          "id": 1
                        }
                      }
                    },
                    "Promotion": {
                      "fields": {
                        "promotionId": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "BranchService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "ListBranches": {
                          "requestType": "ListBranchesRequest",
                          "responseType": "ListBranchesResponse",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/branches",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/branches"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "GetBranch": {
                          "requestType": "GetBranchRequest",
                          "responseType": "Branch",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{name=projects/*/locations/*/catalogs/*/branches/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{name=projects/*/locations/*/catalogs/*/branches/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        }
                      }
                    },
                    "ListBranchesRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "view": {
                          "type": "BranchView",
                          "id": 2
                        }
                      }
                    },
                    "ListBranchesResponse": {
                      "fields": {
                        "branches": {
                          "rule": "repeated",
                          "type": "Branch",
                          "id": 1
                        }
                      }
                    },
                    "GetBranchRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "view": {
                          "type": "BranchView",
                          "id": 2
                        }
                      }
                    },
                    "ProductLevelConfig": {
                      "fields": {
                        "ingestionProductType": {
                          "type": "string",
                          "id": 1
                        },
                        "merchantCenterProductIdField": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "CatalogAttribute": {
                      "fields": {
                        "key": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "inUse": {
                          "type": "bool",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "type": {
                          "type": "AttributeType",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "indexableOption": {
                          "type": "IndexableOption",
                          "id": 5
                        },
                        "dynamicFacetableOption": {
                          "type": "DynamicFacetableOption",
                          "id": 6
                        },
                        "searchableOption": {
                          "type": "SearchableOption",
                          "id": 7
                        },
                        "recommendationsFilteringOption": {
                          "type": "RecommendationsFilteringOption",
                          "id": 8
                        },
                        "exactSearchableOption": {
                          "type": "ExactSearchableOption",
                          "id": 11
                        },
                        "retrievableOption": {
                          "type": "RetrievableOption",
                          "id": 12
                        },
                        "facetConfig": {
                          "type": "FacetConfig",
                          "id": 13
                        }
                      },
                      "nested": {
                        "FacetConfig": {
                          "fields": {
                            "facetIntervals": {
                              "rule": "repeated",
                              "type": "Interval",
                              "id": 1
                            },
                            "ignoredFacetValues": {
                              "rule": "repeated",
                              "type": "IgnoredFacetValues",
                              "id": 2
                            },
                            "mergedFacetValues": {
                              "rule": "repeated",
                              "type": "MergedFacetValue",
                              "id": 3
                            },
                            "mergedFacet": {
                              "type": "MergedFacet",
                              "id": 4
                            },
                            "rerankConfig": {
                              "type": "RerankConfig",
                              "id": 5
                            }
                          },
                          "nested": {
                            "IgnoredFacetValues": {
                              "fields": {
                                "values": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 1
                                },
                                "startTime": {
                                  "type": "google.protobuf.Timestamp",
                                  "id": 2
                                },
                                "endTime": {
                                  "type": "google.protobuf.Timestamp",
                                  "id": 3
                                }
                              }
                            },
                            "MergedFacetValue": {
                              "fields": {
                                "values": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 1
                                },
                                "mergedValue": {
                                  "type": "string",
                                  "id": 2
                                }
                              }
                            },
                            "MergedFacet": {
                              "fields": {
                                "mergedFacetKey": {
                                  "type": "string",
                                  "id": 1
                                }
                              }
                            },
                            "RerankConfig": {
                              "fields": {
                                "rerankFacet": {
                                  "type": "bool",
                                  "id": 1
                                },
                                "facetValues": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 2
                                }
                              }
                            }
                          }
                        },
                        "AttributeType": {
                          "values": {
                            "UNKNOWN": 0,
                            "TEXTUAL": 1,
                            "NUMERICAL": 2
                          }
                        },
                        "IndexableOption": {
                          "values": {
                            "INDEXABLE_OPTION_UNSPECIFIED": 0,
                            "INDEXABLE_ENABLED": 1,
                            "INDEXABLE_DISABLED": 2
                          }
                        },
                        "DynamicFacetableOption": {
                          "values": {
                            "DYNAMIC_FACETABLE_OPTION_UNSPECIFIED": 0,
                            "DYNAMIC_FACETABLE_ENABLED": 1,
                            "DYNAMIC_FACETABLE_DISABLED": 2
                          }
                        },
                        "SearchableOption": {
                          "values": {
                            "SEARCHABLE_OPTION_UNSPECIFIED": 0,
                            "SEARCHABLE_ENABLED": 1,
                            "SEARCHABLE_DISABLED": 2
                          }
                        },
                        "ExactSearchableOption": {
                          "values": {
                            "EXACT_SEARCHABLE_OPTION_UNSPECIFIED": 0,
                            "EXACT_SEARCHABLE_ENABLED": 1,
                            "EXACT_SEARCHABLE_DISABLED": 2
                          }
                        },
                        "RetrievableOption": {
                          "values": {
                            "RETRIEVABLE_OPTION_UNSPECIFIED": 0,
                            "RETRIEVABLE_ENABLED": 1,
                            "RETRIEVABLE_DISABLED": 2
                          }
                        }
                      }
                    },
                    "AttributesConfig": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/AttributesConfig",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/attributesConfig"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "catalogAttributes": {
                          "keyType": "string",
                          "type": "CatalogAttribute",
                          "id": 2
                        },
                        "attributeConfigLevel": {
                          "type": "AttributeConfigLevel",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "CompletionConfig": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/CompletionConfig",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/completionConfig"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "matchingOrder": {
                          "type": "string",
                          "id": 2
                        },
                        "maxSuggestions": {
                          "type": "int32",
                          "id": 3
                        },
                        "minPrefixLength": {
                          "type": "int32",
                          "id": 4
                        },
                        "autoLearning": {
                          "type": "bool",
                          "id": 11
                        },
                        "suggestionsInputConfig": {
                          "type": "CompletionDataInputConfig",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "lastSuggestionsImportOperation": {
                          "type": "string",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "denylistInputConfig": {
                          "type": "CompletionDataInputConfig",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "lastDenylistImportOperation": {
                          "type": "string",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "allowlistInputConfig": {
                          "type": "CompletionDataInputConfig",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "lastAllowlistImportOperation": {
                          "type": "string",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "MerchantCenterLink": {
                      "fields": {
                        "merchantCenterAccountId": {
                          "type": "int64",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "branchId": {
                          "type": "string",
                          "id": 2
                        },
                        "destinations": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3
                        },
                        "regionCode": {
                          "type": "string",
                          "id": 4
                        },
                        "languageCode": {
                          "type": "string",
                          "id": 5
                        },
                        "feeds": {
                          "rule": "repeated",
                          "type": "MerchantCenterFeedFilter",
                          "id": 6
                        }
                      }
                    },
                    "MerchantCenterFeedFilter": {
                      "fields": {
                        "primaryFeedId": {
                          "type": "int64",
                          "id": 1,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "dataSourceId": {
                          "type": "int64",
                          "id": 3
                        },
                        "primaryFeedName": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "MerchantCenterLinkingConfig": {
                      "fields": {
                        "links": {
                          "rule": "repeated",
                          "type": "MerchantCenterLink",
                          "id": 1
                        }
                      }
                    },
                    "Catalog": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/Catalog",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "productLevelConfig": {
                          "type": "ProductLevelConfig",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "merchantCenterLinkingConfig": {
                          "type": "MerchantCenterLinkingConfig",
                          "id": 6
                        }
                      }
                    },
                    "GcsSource": {
                      "fields": {
                        "inputUris": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "dataSchema": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "BigQuerySource": {
                      "oneofs": {
                        "partition": {
                          "oneof": [
                            "partitionDate"
                          ]
                        }
                      },
                      "fields": {
                        "partitionDate": {
                          "type": "google.type.Date",
                          "id": 6
                        },
                        "projectId": {
                          "type": "string",
                          "id": 5
                        },
                        "datasetId": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "tableId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "gcsStagingDir": {
                          "type": "string",
                          "id": 3
                        },
                        "dataSchema": {
                          "type": "string",
                          "id": 4
                        }
                      }
                    },
                    "ProductInlineSource": {
                      "fields": {
                        "products": {
                          "rule": "repeated",
                          "type": "Product",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "UserEventInlineSource": {
                      "fields": {
                        "userEvents": {
                          "rule": "repeated",
                          "type": "UserEvent",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "ImportErrorsConfig": {
                      "oneofs": {
                        "destination": {
                          "oneof": [
                            "gcsPrefix"
                          ]
                        }
                      },
                      "fields": {
                        "gcsPrefix": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "ImportProductsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "requestId": {
                          "type": "string",
                          "id": 6,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "inputConfig": {
                          "type": "ProductInputConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "errorsConfig": {
                          "type": "ImportErrorsConfig",
                          "id": 3
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 4
                        },
                        "reconciliationMode": {
                          "type": "ReconciliationMode",
                          "id": 5
                        },
                        "notificationPubsubTopic": {
                          "type": "string",
                          "id": 7
                        },
                        "skipDefaultBranchProtection": {
                          "type": "bool",
                          "id": 8
                        }
                      },
                      "nested": {
                        "ReconciliationMode": {
                          "values": {
                            "RECONCILIATION_MODE_UNSPECIFIED": 0,
                            "INCREMENTAL": 1,
                            "FULL": 2
                          }
                        }
                      }
                    },
                    "ImportUserEventsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "inputConfig": {
                          "type": "UserEventInputConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "errorsConfig": {
                          "type": "ImportErrorsConfig",
                          "id": 3
                        }
                      }
                    },
                    "ImportCompletionDataRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "inputConfig": {
                          "type": "CompletionDataInputConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "notificationPubsubTopic": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ProductInputConfig": {
                      "oneofs": {
                        "source": {
                          "oneof": [
                            "productInlineSource",
                            "gcsSource",
                            "bigQuerySource"
                          ]
                        }
                      },
                      "fields": {
                        "productInlineSource": {
                          "type": "ProductInlineSource",
                          "id": 1
                        },
                        "gcsSource": {
                          "type": "GcsSource",
                          "id": 2
                        },
                        "bigQuerySource": {
                          "type": "BigQuerySource",
                          "id": 3
                        }
                      }
                    },
                    "UserEventInputConfig": {
                      "oneofs": {
                        "source": {
                          "oneof": [
                            "userEventInlineSource",
                            "gcsSource",
                            "bigQuerySource"
                          ]
                        }
                      },
                      "fields": {
                        "userEventInlineSource": {
                          "type": "UserEventInlineSource",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "gcsSource": {
                          "type": "GcsSource",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "bigQuerySource": {
                          "type": "BigQuerySource",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CompletionDataInputConfig": {
                      "oneofs": {
                        "source": {
                          "oneof": [
                            "bigQuerySource"
                          ]
                        }
                      },
                      "fields": {
                        "bigQuerySource": {
                          "type": "BigQuerySource",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "ImportMetadata": {
                      "fields": {
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 1
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2
                        },
                        "successCount": {
                          "type": "int64",
                          "id": 3
                        },
                        "failureCount": {
                          "type": "int64",
                          "id": 4
                        },
                        "requestId": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "notificationPubsubTopic": {
                          "type": "string",
                          "id": 6
                        },
                        "transformedUserEventsMetadata": {
                          "type": "TransformedUserEventsMetadata",
                          "id": 7
                        }
                      }
                    },
                    "TransformedUserEventsMetadata": {
                      "fields": {
                        "sourceEventsCount": {
                          "type": "int64",
                          "id": 1
                        },
                        "transformedEventsCount": {
                          "type": "int64",
                          "id": 2
                        }
                      }
                    },
                    "ImportProductsResponse": {
                      "fields": {
                        "errorSamples": {
                          "rule": "repeated",
                          "type": "google.rpc.Status",
                          "id": 1
                        },
                        "errorsConfig": {
                          "type": "ImportErrorsConfig",
                          "id": 2
                        }
                      }
                    },
                    "ImportUserEventsResponse": {
                      "fields": {
                        "errorSamples": {
                          "rule": "repeated",
                          "type": "google.rpc.Status",
                          "id": 1
                        },
                        "errorsConfig": {
                          "type": "ImportErrorsConfig",
                          "id": 2
                        },
                        "importSummary": {
                          "type": "UserEventImportSummary",
                          "id": 3
                        }
                      }
                    },
                    "UserEventImportSummary": {
                      "fields": {
                        "joinedEventsCount": {
                          "type": "int64",
                          "id": 1
                        },
                        "unjoinedEventsCount": {
                          "type": "int64",
                          "id": 2
                        }
                      }
                    },
                    "ImportCompletionDataResponse": {
                      "fields": {
                        "errorSamples": {
                          "rule": "repeated",
                          "type": "google.rpc.Status",
                          "id": 1
                        }
                      }
                    },
                    "UserEvent": {
                      "fields": {
                        "eventType": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "visitorId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "sessionId": {
                          "type": "string",
                          "id": 21
                        },
                        "eventTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 3
                        },
                        "experimentIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 4
                        },
                        "attributionToken": {
                          "type": "string",
                          "id": 5
                        },
                        "productDetails": {
                          "rule": "repeated",
                          "type": "ProductDetail",
                          "id": 6
                        },
                        "completionDetail": {
                          "type": "CompletionDetail",
                          "id": 22
                        },
                        "attributes": {
                          "keyType": "string",
                          "type": "CustomAttribute",
                          "id": 7
                        },
                        "cartId": {
                          "type": "string",
                          "id": 8
                        },
                        "purchaseTransaction": {
                          "type": "PurchaseTransaction",
                          "id": 9
                        },
                        "searchQuery": {
                          "type": "string",
                          "id": 10
                        },
                        "filter": {
                          "type": "string",
                          "id": 16
                        },
                        "orderBy": {
                          "type": "string",
                          "id": 17
                        },
                        "offset": {
                          "type": "int32",
                          "id": 18
                        },
                        "pageCategories": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 11
                        },
                        "userInfo": {
                          "type": "UserInfo",
                          "id": 12
                        },
                        "uri": {
                          "type": "string",
                          "id": 13
                        },
                        "referrerUri": {
                          "type": "string",
                          "id": 14
                        },
                        "pageViewId": {
                          "type": "string",
                          "id": 15
                        },
                        "entity": {
                          "type": "string",
                          "id": 23
                        }
                      }
                    },
                    "ProductDetail": {
                      "fields": {
                        "product": {
                          "type": "Product",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "quantity": {
                          "type": "google.protobuf.Int32Value",
                          "id": 2
                        }
                      }
                    },
                    "CompletionDetail": {
                      "fields": {
                        "completionAttributionToken": {
                          "type": "string",
                          "id": 1
                        },
                        "selectedSuggestion": {
                          "type": "string",
                          "id": 2
                        },
                        "selectedPosition": {
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "PurchaseTransaction": {
                      "fields": {
                        "id": {
                          "type": "string",
                          "id": 1
                        },
                        "revenue": {
                          "type": "float",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "tax": {
                          "type": "float",
                          "id": 3
                        },
                        "cost": {
                          "type": "float",
                          "id": 4
                        },
                        "currencyCode": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CatalogService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "ListCatalogs": {
                          "requestType": "ListCatalogsRequest",
                          "responseType": "ListCatalogsResponse",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{parent=projects/*/locations/*}/catalogs",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{parent=projects/*/locations/*}/catalogs"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "UpdateCatalog": {
                          "requestType": "UpdateCatalogRequest",
                          "responseType": "Catalog",
                          "options": {
                            "(google.api.http).patch": "/v2alpha/{catalog.name=projects/*/locations/*/catalogs/*}",
                            "(google.api.http).body": "catalog",
                            "(google.api.method_signature)": "catalog,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2alpha/{catalog.name=projects/*/locations/*/catalogs/*}",
                                "body": "catalog"
                              }
                            },
                            {
                              "(google.api.method_signature)": "catalog,update_mask"
                            }
                          ]
                        },
                        "SetDefaultBranch": {
                          "requestType": "SetDefaultBranchRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{catalog=projects/*/locations/*/catalogs/*}:setDefaultBranch",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "catalog"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{catalog=projects/*/locations/*/catalogs/*}:setDefaultBranch",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "catalog"
                            }
                          ]
                        },
                        "GetDefaultBranch": {
                          "requestType": "GetDefaultBranchRequest",
                          "responseType": "GetDefaultBranchResponse",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{catalog=projects/*/locations/*/catalogs/*}:getDefaultBranch",
                            "(google.api.method_signature)": "catalog"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{catalog=projects/*/locations/*/catalogs/*}:getDefaultBranch"
                              }
                            },
                            {
                              "(google.api.method_signature)": "catalog"
                            }
                          ]
                        },
                        "GetCompletionConfig": {
                          "requestType": "GetCompletionConfigRequest",
                          "responseType": "CompletionConfig",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{name=projects/*/locations/*/catalogs/*/completionConfig}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{name=projects/*/locations/*/catalogs/*/completionConfig}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateCompletionConfig": {
                          "requestType": "UpdateCompletionConfigRequest",
                          "responseType": "CompletionConfig",
                          "options": {
                            "(google.api.http).patch": "/v2alpha/{completion_config.name=projects/*/locations/*/catalogs/*/completionConfig}",
                            "(google.api.http).body": "completion_config",
                            "(google.api.method_signature)": "completion_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2alpha/{completion_config.name=projects/*/locations/*/catalogs/*/completionConfig}",
                                "body": "completion_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "completion_config,update_mask"
                            }
                          ]
                        },
                        "GetAttributesConfig": {
                          "requestType": "GetAttributesConfigRequest",
                          "responseType": "AttributesConfig",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{name=projects/*/locations/*/catalogs/*/attributesConfig}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{name=projects/*/locations/*/catalogs/*/attributesConfig}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateAttributesConfig": {
                          "requestType": "UpdateAttributesConfigRequest",
                          "responseType": "AttributesConfig",
                          "options": {
                            "(google.api.http).patch": "/v2alpha/{attributes_config.name=projects/*/locations/*/catalogs/*/attributesConfig}",
                            "(google.api.http).body": "attributes_config",
                            "(google.api.method_signature)": "attributes_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2alpha/{attributes_config.name=projects/*/locations/*/catalogs/*/attributesConfig}",
                                "body": "attributes_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "attributes_config,update_mask"
                            }
                          ]
                        },
                        "AddCatalogAttribute": {
                          "requestType": "AddCatalogAttributeRequest",
                          "responseType": "AttributesConfig",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:addCatalogAttribute",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:addCatalogAttribute",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "RemoveCatalogAttribute": {
                          "requestType": "RemoveCatalogAttributeRequest",
                          "responseType": "AttributesConfig",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:removeCatalogAttribute",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:removeCatalogAttribute",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "BatchRemoveCatalogAttributes": {
                          "requestType": "BatchRemoveCatalogAttributesRequest",
                          "responseType": "BatchRemoveCatalogAttributesResponse",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:batchRemoveCatalogAttributes",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:batchRemoveCatalogAttributes",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "ReplaceCatalogAttribute": {
                          "requestType": "ReplaceCatalogAttributeRequest",
                          "responseType": "AttributesConfig",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:replaceCatalogAttribute",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:replaceCatalogAttribute",
                                "body": "*"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "ListCatalogsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "locations.googleapis.com/Location"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ListCatalogsResponse": {
                      "fields": {
                        "catalogs": {
                          "rule": "repeated",
                          "type": "Catalog",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "UpdateCatalogRequest": {
                      "fields": {
                        "catalog": {
                          "type": "Catalog",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "SetDefaultBranchRequest": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "branchId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "note": {
                          "type": "string",
                          "id": 3
                        },
                        "force": {
                          "type": "bool",
                          "id": 4
                        }
                      }
                    },
                    "GetDefaultBranchRequest": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        }
                      }
                    },
                    "GetDefaultBranchResponse": {
                      "fields": {
                        "branch": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "setTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2
                        },
                        "note": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "GetCompletionConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/CompletionConfig"
                          }
                        }
                      }
                    },
                    "UpdateCompletionConfigRequest": {
                      "fields": {
                        "completionConfig": {
                          "type": "CompletionConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "GetAttributesConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/AttributesConfig"
                          }
                        }
                      }
                    },
                    "UpdateAttributesConfigRequest": {
                      "fields": {
                        "attributesConfig": {
                          "type": "AttributesConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "AddCatalogAttributeRequest": {
                      "fields": {
                        "attributesConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/AttributesConfig"
                          }
                        },
                        "catalogAttribute": {
                          "type": "CatalogAttribute",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "RemoveCatalogAttributeRequest": {
                      "fields": {
                        "attributesConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/AttributesConfig"
                          }
                        },
                        "key": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchRemoveCatalogAttributesRequest": {
                      "fields": {
                        "attributesConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/AttributesConfig"
                          }
                        },
                        "attributeKeys": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchRemoveCatalogAttributesResponse": {
                      "fields": {
                        "deletedCatalogAttributes": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        },
                        "resetCatalogAttributes": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "ReplaceCatalogAttributeRequest": {
                      "fields": {
                        "attributesConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/AttributesConfig"
                          }
                        },
                        "catalogAttribute": {
                          "type": "CatalogAttribute",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 3
                        }
                      }
                    },
                    "CompletionService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "CompleteQuery": {
                          "requestType": "CompleteQueryRequest",
                          "responseType": "CompleteQueryResponse",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{catalog=projects/*/locations/*/catalogs/*}:completeQuery"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{catalog=projects/*/locations/*/catalogs/*}:completeQuery"
                              }
                            }
                          ]
                        },
                        "ImportCompletionData": {
                          "requestType": "ImportCompletionDataRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/completionData:import",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.ImportCompletionDataResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.ImportMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/completionData:import",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.ImportCompletionDataResponse",
                                "metadata_type": "google.cloud.retail.v2alpha.ImportMetadata"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "CompleteQueryRequest": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "query": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "visitorId": {
                          "type": "string",
                          "id": 7
                        },
                        "languageCodes": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3
                        },
                        "deviceType": {
                          "type": "string",
                          "id": 4
                        },
                        "dataset": {
                          "type": "string",
                          "id": 6
                        },
                        "maxSuggestions": {
                          "type": "int32",
                          "id": 5
                        },
                        "enableAttributeSuggestions": {
                          "type": "bool",
                          "id": 9
                        },
                        "entity": {
                          "type": "string",
                          "id": 10
                        }
                      }
                    },
                    "CompleteQueryResponse": {
                      "fields": {
                        "completionResults": {
                          "rule": "repeated",
                          "type": "CompletionResult",
                          "id": 1
                        },
                        "attributionToken": {
                          "type": "string",
                          "id": 2
                        },
                        "recentSearchResults": {
                          "rule": "repeated",
                          "type": "RecentSearchResult",
                          "id": 3,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "attributeResults": {
                          "keyType": "string",
                          "type": "AttributeResult",
                          "id": 4
                        }
                      },
                      "nested": {
                        "CompletionResult": {
                          "fields": {
                            "suggestion": {
                              "type": "string",
                              "id": 1
                            },
                            "attributes": {
                              "keyType": "string",
                              "type": "CustomAttribute",
                              "id": 2
                            },
                            "facets": {
                              "rule": "repeated",
                              "type": "SearchResponse.Facet",
                              "id": 3
                            },
                            "totalProductCount": {
                              "type": "int32",
                              "id": 4
                            }
                          }
                        },
                        "RecentSearchResult": {
                          "options": {
                            "deprecated": true
                          },
                          "fields": {
                            "recentSearch": {
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "AttributeResult": {
                          "fields": {
                            "suggestions": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        }
                      }
                    },
                    "SearchService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "Search": {
                          "requestType": "SearchRequest",
                          "responseType": "SearchResponse",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{placement=projects/*/locations/*/catalogs/*/placements/*}:search",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v2alpha/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:search",
                            "(google.api.http).additional_bindings.body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{placement=projects/*/locations/*/catalogs/*/placements/*}:search",
                                "body": "*",
                                "additional_bindings": {
                                  "post": "/v2alpha/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:search",
                                  "body": "*"
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    "ProductAttributeValue": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1
                        },
                        "value": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "ProductAttributeInterval": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1
                        },
                        "interval": {
                          "type": "Interval",
                          "id": 2
                        }
                      }
                    },
                    "Tile": {
                      "oneofs": {
                        "productAttribute": {
                          "oneof": [
                            "productAttributeValue",
                            "productAttributeInterval"
                          ]
                        }
                      },
                      "fields": {
                        "productAttributeValue": {
                          "type": "ProductAttributeValue",
                          "id": 1
                        },
                        "productAttributeInterval": {
                          "type": "ProductAttributeInterval",
                          "id": 2
                        },
                        "representativeProductId": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "SearchRequest": {
                      "oneofs": {
                        "_spellCorrectionSpec": {
                          "oneof": [
                            "spellCorrectionSpec"
                          ]
                        }
                      },
                      "fields": {
                        "placement": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "branch": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "query": {
                          "type": "string",
                          "id": 3
                        },
                        "visitorId": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userInfo": {
                          "type": "UserInfo",
                          "id": 5
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 7
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 8
                        },
                        "offset": {
                          "type": "int32",
                          "id": 9
                        },
                        "filter": {
                          "type": "string",
                          "id": 10
                        },
                        "canonicalFilter": {
                          "type": "string",
                          "id": 28
                        },
                        "orderBy": {
                          "type": "string",
                          "id": 11
                        },
                        "facetSpecs": {
                          "rule": "repeated",
                          "type": "FacetSpec",
                          "id": 12
                        },
                        "dynamicFacetSpec": {
                          "type": "DynamicFacetSpec",
                          "id": 21,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "boostSpec": {
                          "type": "BoostSpec",
                          "id": 13
                        },
                        "queryExpansionSpec": {
                          "type": "QueryExpansionSpec",
                          "id": 14
                        },
                        "relevanceThreshold": {
                          "type": "RelevanceThreshold",
                          "id": 15
                        },
                        "variantRollupKeys": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 17
                        },
                        "experimentId": {
                          "type": "string",
                          "id": 18,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageCategories": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 23
                        },
                        "searchMode": {
                          "type": "SearchMode",
                          "id": 31
                        },
                        "personalizationSpec": {
                          "type": "PersonalizationSpec",
                          "id": 32
                        },
                        "labels": {
                          "keyType": "string",
                          "type": "string",
                          "id": 34
                        },
                        "spellCorrectionSpec": {
                          "type": "SpellCorrectionSpec",
                          "id": 35,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "entity": {
                          "type": "string",
                          "id": 38
                        },
                        "conversationalSearchSpec": {
                          "type": "ConversationalSearchSpec",
                          "id": 40,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "tileNavigationSpec": {
                          "type": "TileNavigationSpec",
                          "id": 41,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "languageCode": {
                          "type": "string",
                          "id": 43,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "regionCode": {
                          "type": "string",
                          "id": 44,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "placeId": {
                          "type": "string",
                          "id": 46,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "userAttributes": {
                          "keyType": "string",
                          "type": "StringList",
                          "id": 47,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "FacetSpec": {
                          "fields": {
                            "facetKey": {
                              "type": "FacetKey",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "limit": {
                              "type": "int32",
                              "id": 2
                            },
                            "excludedFilterKeys": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 3
                            },
                            "enableDynamicPosition": {
                              "type": "bool",
                              "id": 4
                            }
                          },
                          "nested": {
                            "FacetKey": {
                              "fields": {
                                "key": {
                                  "type": "string",
                                  "id": 1,
                                  "options": {
                                    "(google.api.field_behavior)": "REQUIRED"
                                  }
                                },
                                "intervals": {
                                  "rule": "repeated",
                                  "type": "Interval",
                                  "id": 2
                                },
                                "restrictedValues": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 3
                                },
                                "prefixes": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 8
                                },
                                "contains": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 9
                                },
                                "caseInsensitive": {
                                  "type": "bool",
                                  "id": 10
                                },
                                "orderBy": {
                                  "type": "string",
                                  "id": 4
                                },
                                "query": {
                                  "type": "string",
                                  "id": 5
                                },
                                "returnMinMax": {
                                  "type": "bool",
                                  "id": 11
                                }
                              }
                            }
                          }
                        },
                        "DynamicFacetSpec": {
                          "fields": {
                            "mode": {
                              "type": "Mode",
                              "id": 1
                            }
                          },
                          "nested": {
                            "Mode": {
                              "values": {
                                "MODE_UNSPECIFIED": 0,
                                "DISABLED": 1,
                                "ENABLED": 2
                              }
                            }
                          }
                        },
                        "BoostSpec": {
                          "oneofs": {
                            "_skipBoostSpecValidation": {
                              "oneof": [
                                "skipBoostSpecValidation"
                              ]
                            }
                          },
                          "fields": {
                            "conditionBoostSpecs": {
                              "rule": "repeated",
                              "type": "ConditionBoostSpec",
                              "id": 1
                            },
                            "skipBoostSpecValidation": {
                              "type": "bool",
                              "id": 2,
                              "options": {
                                "proto3_optional": true
                              }
                            }
                          },
                          "nested": {
                            "ConditionBoostSpec": {
                              "fields": {
                                "condition": {
                                  "type": "string",
                                  "id": 1
                                },
                                "boost": {
                                  "type": "float",
                                  "id": 2
                                }
                              }
                            }
                          }
                        },
                        "QueryExpansionSpec": {
                          "fields": {
                            "condition": {
                              "type": "Condition",
                              "id": 1
                            },
                            "pinUnexpandedResults": {
                              "type": "bool",
                              "id": 2
                            }
                          },
                          "nested": {
                            "Condition": {
                              "values": {
                                "CONDITION_UNSPECIFIED": 0,
                                "DISABLED": 1,
                                "AUTO": 3
                              }
                            }
                          }
                        },
                        "PersonalizationSpec": {
                          "fields": {
                            "mode": {
                              "type": "Mode",
                              "id": 1
                            }
                          },
                          "nested": {
                            "Mode": {
                              "values": {
                                "MODE_UNSPECIFIED": 0,
                                "AUTO": 1,
                                "DISABLED": 2
                              }
                            }
                          }
                        },
                        "SpellCorrectionSpec": {
                          "fields": {
                            "mode": {
                              "type": "Mode",
                              "id": 1
                            }
                          },
                          "nested": {
                            "Mode": {
                              "values": {
                                "MODE_UNSPECIFIED": 0,
                                "SUGGESTION_ONLY": 1,
                                "AUTO": 2
                              }
                            }
                          }
                        },
                        "ConversationalSearchSpec": {
                          "fields": {
                            "followupConversationRequested": {
                              "type": "bool",
                              "id": 1
                            },
                            "conversationId": {
                              "type": "string",
                              "id": 2
                            },
                            "userAnswer": {
                              "type": "UserAnswer",
                              "id": 3
                            }
                          },
                          "nested": {
                            "UserAnswer": {
                              "oneofs": {
                                "type": {
                                  "oneof": [
                                    "textAnswer",
                                    "selectedAnswer"
                                  ]
                                }
                              },
                              "fields": {
                                "textAnswer": {
                                  "type": "string",
                                  "id": 1
                                },
                                "selectedAnswer": {
                                  "type": "SelectedAnswer",
                                  "id": 2
                                }
                              },
                              "nested": {
                                "SelectedAnswer": {
                                  "fields": {
                                    "productAttributeValues": {
                                      "rule": "repeated",
                                      "type": "ProductAttributeValue",
                                      "id": 1,
                                      "options": {
                                        "deprecated": true
                                      }
                                    },
                                    "productAttributeValue": {
                                      "type": "ProductAttributeValue",
                                      "id": 2
                                    }
                                  }
                                }
                              }
                            }
                          }
                        },
                        "TileNavigationSpec": {
                          "fields": {
                            "tileNavigationRequested": {
                              "type": "bool",
                              "id": 1
                            },
                            "appliedTiles": {
                              "rule": "repeated",
                              "type": "Tile",
                              "id": 2
                            }
                          }
                        },
                        "RelevanceThreshold": {
                          "values": {
                            "RELEVANCE_THRESHOLD_UNSPECIFIED": 0,
                            "HIGH": 1,
                            "MEDIUM": 2,
                            "LOW": 3,
                            "LOWEST": 4
                          }
                        },
                        "SearchMode": {
                          "values": {
                            "SEARCH_MODE_UNSPECIFIED": 0,
                            "PRODUCT_SEARCH_ONLY": 1,
                            "FACETED_SEARCH_ONLY": 2
                          }
                        }
                      }
                    },
                    "SearchResponse": {
                      "fields": {
                        "results": {
                          "rule": "repeated",
                          "type": "SearchResult",
                          "id": 1
                        },
                        "facets": {
                          "rule": "repeated",
                          "type": "Facet",
                          "id": 2
                        },
                        "totalSize": {
                          "type": "int32",
                          "id": 3
                        },
                        "correctedQuery": {
                          "type": "string",
                          "id": 4
                        },
                        "attributionToken": {
                          "type": "string",
                          "id": 5
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 6
                        },
                        "queryExpansionInfo": {
                          "type": "QueryExpansionInfo",
                          "id": 7
                        },
                        "redirectUri": {
                          "type": "string",
                          "id": 10
                        },
                        "appliedControls": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 12
                        },
                        "pinControlMetadata": {
                          "type": "PinControlMetadata",
                          "id": 22
                        },
                        "invalidConditionBoostSpecs": {
                          "rule": "repeated",
                          "type": "SearchRequest.BoostSpec.ConditionBoostSpec",
                          "id": 14
                        },
                        "experimentInfo": {
                          "rule": "repeated",
                          "type": "ExperimentInfo",
                          "id": 17
                        },
                        "conversationalSearchResult": {
                          "type": "ConversationalSearchResult",
                          "id": 18
                        },
                        "tileNavigationResult": {
                          "type": "TileNavigationResult",
                          "id": 19
                        }
                      },
                      "nested": {
                        "SearchResult": {
                          "fields": {
                            "id": {
                              "type": "string",
                              "id": 1
                            },
                            "product": {
                              "type": "Product",
                              "id": 2
                            },
                            "matchingVariantCount": {
                              "type": "int32",
                              "id": 3
                            },
                            "matchingVariantFields": {
                              "keyType": "string",
                              "type": "google.protobuf.FieldMask",
                              "id": 4
                            },
                            "variantRollupValues": {
                              "keyType": "string",
                              "type": "google.protobuf.Value",
                              "id": 5
                            },
                            "personalLabels": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 7
                            },
                            "modelScores": {
                              "keyType": "string",
                              "type": "DoubleList",
                              "id": 8
                            }
                          }
                        },
                        "Facet": {
                          "fields": {
                            "key": {
                              "type": "string",
                              "id": 1
                            },
                            "values": {
                              "rule": "repeated",
                              "type": "FacetValue",
                              "id": 2
                            },
                            "dynamicFacet": {
                              "type": "bool",
                              "id": 3
                            }
                          },
                          "nested": {
                            "FacetValue": {
                              "oneofs": {
                                "facetValue": {
                                  "oneof": [
                                    "value",
                                    "interval"
                                  ]
                                }
                              },
                              "fields": {
                                "value": {
                                  "type": "string",
                                  "id": 1
                                },
                                "interval": {
                                  "type": "Interval",
                                  "id": 2
                                },
                                "count": {
                                  "type": "int64",
                                  "id": 3
                                },
                                "minValue": {
                                  "type": "double",
                                  "id": 5
                                },
                                "maxValue": {
                                  "type": "double",
                                  "id": 6
                                }
                              }
                            }
                          }
                        },
                        "QueryExpansionInfo": {
                          "fields": {
                            "expandedQuery": {
                              "type": "bool",
                              "id": 1
                            },
                            "pinnedResultCount": {
                              "type": "int64",
                              "id": 2
                            }
                          }
                        },
                        "ConversationalSearchResult": {
                          "fields": {
                            "conversationId": {
                              "type": "string",
                              "id": 1
                            },
                            "refinedQuery": {
                              "type": "string",
                              "id": 2
                            },
                            "additionalFilters": {
                              "rule": "repeated",
                              "type": "AdditionalFilter",
                              "id": 3,
                              "options": {
                                "deprecated": true
                              }
                            },
                            "followupQuestion": {
                              "type": "string",
                              "id": 4
                            },
                            "suggestedAnswers": {
                              "rule": "repeated",
                              "type": "SuggestedAnswer",
                              "id": 5
                            },
                            "additionalFilter": {
                              "type": "AdditionalFilter",
                              "id": 6
                            }
                          },
                          "nested": {
                            "SuggestedAnswer": {
                              "fields": {
                                "productAttributeValue": {
                                  "type": "ProductAttributeValue",
                                  "id": 1
                                }
                              }
                            },
                            "AdditionalFilter": {
                              "fields": {
                                "productAttributeValue": {
                                  "type": "ProductAttributeValue",
                                  "id": 1
                                }
                              }
                            }
                          }
                        },
                        "TileNavigationResult": {
                          "fields": {
                            "tiles": {
                              "rule": "repeated",
                              "type": "Tile",
                              "id": 1
                            }
                          }
                        }
                      }
                    },
                    "ExperimentInfo": {
                      "oneofs": {
                        "experimentMetadata": {
                          "oneof": [
                            "servingConfigExperiment"
                          ]
                        }
                      },
                      "fields": {
                        "servingConfigExperiment": {
                          "type": "ServingConfigExperiment",
                          "id": 2
                        },
                        "experiment": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Experiment"
                          }
                        }
                      },
                      "nested": {
                        "ServingConfigExperiment": {
                          "fields": {
                            "originalServingConfig": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                              }
                            },
                            "experimentServingConfig": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                              }
                            }
                          }
                        }
                      }
                    },
                    "Control": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/Control",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/controls/{control}"
                      },
                      "oneofs": {
                        "control": {
                          "oneof": [
                            "facetSpec",
                            "rule"
                          ]
                        }
                      },
                      "fields": {
                        "facetSpec": {
                          "type": "SearchRequest.FacetSpec",
                          "id": 3,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "rule": {
                          "type": "Rule",
                          "id": 4
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "associatedServingConfigIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "solutionTypes": {
                          "rule": "repeated",
                          "type": "SolutionType",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "searchSolutionUseCase": {
                          "rule": "repeated",
                          "type": "SearchSolutionUseCase",
                          "id": 7
                        }
                      }
                    },
                    "ControlService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "CreateControl": {
                          "requestType": "CreateControlRequest",
                          "responseType": "Control",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/controls",
                            "(google.api.http).body": "control",
                            "(google.api.method_signature)": "parent,control,control_id"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/controls",
                                "body": "control"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,control,control_id"
                            }
                          ]
                        },
                        "DeleteControl": {
                          "requestType": "DeleteControlRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v2alpha/{name=projects/*/locations/*/catalogs/*/controls/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v2alpha/{name=projects/*/locations/*/catalogs/*/controls/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateControl": {
                          "requestType": "UpdateControlRequest",
                          "responseType": "Control",
                          "options": {
                            "(google.api.http).patch": "/v2alpha/{control.name=projects/*/locations/*/catalogs/*/controls/*}",
                            "(google.api.http).body": "control",
                            "(google.api.method_signature)": "control,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2alpha/{control.name=projects/*/locations/*/catalogs/*/controls/*}",
                                "body": "control"
                              }
                            },
                            {
                              "(google.api.method_signature)": "control,update_mask"
                            }
                          ]
                        },
                        "GetControl": {
                          "requestType": "GetControlRequest",
                          "responseType": "Control",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{name=projects/*/locations/*/catalogs/*/controls/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{name=projects/*/locations/*/catalogs/*/controls/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListControls": {
                          "requestType": "ListControlsRequest",
                          "responseType": "ListControlsResponse",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/controls",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/controls"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        }
                      }
                    },
                    "CreateControlRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "control": {
                          "type": "Control",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "controlId": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "UpdateControlRequest": {
                      "fields": {
                        "control": {
                          "type": "Control",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "DeleteControlRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Control"
                          }
                        }
                      }
                    },
                    "GetControlRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Control"
                          }
                        }
                      }
                    },
                    "ListControlsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListControlsResponse": {
                      "fields": {
                        "controls": {
                          "rule": "repeated",
                          "type": "Control",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "ConversationalSearchService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "ConversationalSearch": {
                          "requestType": "ConversationalSearchRequest",
                          "responseType": "ConversationalSearchResponse",
                          "responseStream": true,
                          "options": {
                            "(google.api.http).post": "/v2alpha/{placement=projects/*/locations/*/catalogs/*/placements/*}:conversationalSearch",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v2alpha/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:conversationalSearch",
                            "(google.api.http).additional_bindings.body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{placement=projects/*/locations/*/catalogs/*/placements/*}:conversationalSearch",
                                "body": "*",
                                "additional_bindings": {
                                  "post": "/v2alpha/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:conversationalSearch",
                                  "body": "*"
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    "ConversationalSearchRequest": {
                      "fields": {
                        "placement": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "branch": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "query": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageCategories": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "conversationId": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "searchParams": {
                          "type": "SearchParams",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "visitorId": {
                          "type": "string",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userInfo": {
                          "type": "UserInfo",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "conversationalFilteringSpec": {
                          "type": "ConversationalFilteringSpec",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "userLabels": {
                          "keyType": "string",
                          "type": "string",
                          "id": 12,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "safetySettings": {
                          "rule": "repeated",
                          "type": "SafetySetting",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "SearchParams": {
                          "fields": {
                            "filter": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "canonicalFilter": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "sortBy": {
                              "type": "string",
                              "id": 3,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "boostSpec": {
                              "type": "SearchRequest.BoostSpec",
                              "id": 4,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          }
                        },
                        "UserAnswer": {
                          "oneofs": {
                            "type": {
                              "oneof": [
                                "textAnswer",
                                "selectedAnswer"
                              ]
                            }
                          },
                          "fields": {
                            "textAnswer": {
                              "type": "string",
                              "id": 1
                            },
                            "selectedAnswer": {
                              "type": "SelectedAnswer",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          },
                          "nested": {
                            "SelectedAnswer": {
                              "fields": {
                                "productAttributeValue": {
                                  "type": "ProductAttributeValue",
                                  "id": 1,
                                  "options": {
                                    "(google.api.field_behavior)": "OPTIONAL"
                                  }
                                }
                              }
                            }
                          }
                        },
                        "ConversationalFilteringSpec": {
                          "fields": {
                            "enableConversationalFiltering": {
                              "type": "bool",
                              "id": 1,
                              "options": {
                                "deprecated": true,
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "userAnswer": {
                              "type": "UserAnswer",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "conversationalFilteringMode": {
                              "type": "Mode",
                              "id": 4,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          },
                          "nested": {
                            "Mode": {
                              "values": {
                                "MODE_UNSPECIFIED": 0,
                                "DISABLED": 1,
                                "ENABLED": 2,
                                "CONVERSATIONAL_FILTER_ONLY": 3
                              }
                            }
                          }
                        }
                      }
                    },
                    "ConversationalSearchResponse": {
                      "fields": {
                        "userQueryTypes": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 10
                        },
                        "conversationalTextResponse": {
                          "type": "string",
                          "id": 2
                        },
                        "followupQuestion": {
                          "type": "FollowupQuestion",
                          "id": 3
                        },
                        "conversationId": {
                          "type": "string",
                          "id": 4
                        },
                        "refinedSearch": {
                          "rule": "repeated",
                          "type": "RefinedSearch",
                          "id": 6
                        },
                        "conversationalFilteringResult": {
                          "type": "ConversationalFilteringResult",
                          "id": 7
                        },
                        "state": {
                          "type": "State",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "FollowupQuestion": {
                          "fields": {
                            "followupQuestion": {
                              "type": "string",
                              "id": 1
                            },
                            "suggestedAnswers": {
                              "rule": "repeated",
                              "type": "SuggestedAnswer",
                              "id": 2
                            }
                          },
                          "nested": {
                            "SuggestedAnswer": {
                              "fields": {
                                "productAttributeValue": {
                                  "type": "ProductAttributeValue",
                                  "id": 1
                                }
                              }
                            }
                          }
                        },
                        "RefinedSearch": {
                          "fields": {
                            "query": {
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "ConversationalFilteringResult": {
                          "fields": {
                            "followupQuestion": {
                              "type": "FollowupQuestion",
                              "id": 1
                            },
                            "additionalFilter": {
                              "type": "AdditionalFilter",
                              "id": 2
                            }
                          },
                          "nested": {
                            "AdditionalFilter": {
                              "fields": {
                                "productAttributeValue": {
                                  "type": "ProductAttributeValue",
                                  "id": 1
                                }
                              }
                            }
                          }
                        },
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "STREAMING": 1,
                            "SUCCEEDED": 2
                          }
                        }
                      }
                    },
                    "HarmCategory": {
                      "values": {
                        "HARM_CATEGORY_UNSPECIFIED": 0,
                        "HARM_CATEGORY_HATE_SPEECH": 1,
                        "HARM_CATEGORY_DANGEROUS_CONTENT": 2,
                        "HARM_CATEGORY_HARASSMENT": 3,
                        "HARM_CATEGORY_SEXUALLY_EXPLICIT": 4,
                        "HARM_CATEGORY_CIVIC_INTEGRITY": 5
                      }
                    },
                    "SafetySetting": {
                      "fields": {
                        "category": {
                          "type": "HarmCategory",
                          "id": 1
                        },
                        "threshold": {
                          "type": "HarmBlockThreshold",
                          "id": 2
                        },
                        "method": {
                          "type": "HarmBlockMethod",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "HarmBlockThreshold": {
                          "values": {
                            "HARM_BLOCK_THRESHOLD_UNSPECIFIED": 0,
                            "BLOCK_LOW_AND_ABOVE": 1,
                            "BLOCK_MEDIUM_AND_ABOVE": 2,
                            "BLOCK_ONLY_HIGH": 3,
                            "BLOCK_NONE": 4,
                            "OFF": 5
                          }
                        },
                        "HarmBlockMethod": {
                          "values": {
                            "HARM_BLOCK_METHOD_UNSPECIFIED": 0,
                            "SEVERITY": 1,
                            "PROBABILITY": 2
                          }
                        }
                      }
                    },
                    "GenerativeQuestionsFeatureConfig": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "featureEnabled": {
                          "type": "bool",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "minimumProducts": {
                          "type": "int32",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GenerativeQuestionConfig": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "facet": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "generatedQuestion": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "finalQuestion": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "exampleValues": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "frequency": {
                          "type": "float",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "allowedInConversation": {
                          "type": "bool",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GenerativeQuestionService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "UpdateGenerativeQuestionsFeatureConfig": {
                          "requestType": "UpdateGenerativeQuestionsFeatureConfigRequest",
                          "responseType": "GenerativeQuestionsFeatureConfig",
                          "options": {
                            "(google.api.http).patch": "/v2alpha/{generative_questions_feature_config.catalog=projects/*/locations/*/catalogs/*}/generativeQuestionFeature",
                            "(google.api.http).body": "generative_questions_feature_config",
                            "(google.api.method_signature)": "generative_questions_feature_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2alpha/{generative_questions_feature_config.catalog=projects/*/locations/*/catalogs/*}/generativeQuestionFeature",
                                "body": "generative_questions_feature_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "generative_questions_feature_config,update_mask"
                            }
                          ]
                        },
                        "GetGenerativeQuestionsFeatureConfig": {
                          "requestType": "GetGenerativeQuestionsFeatureConfigRequest",
                          "responseType": "GenerativeQuestionsFeatureConfig",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{catalog=projects/*/locations/*/catalogs/*}/generativeQuestionFeature",
                            "(google.api.method_signature)": "catalog"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{catalog=projects/*/locations/*/catalogs/*}/generativeQuestionFeature"
                              }
                            },
                            {
                              "(google.api.method_signature)": "catalog"
                            }
                          ]
                        },
                        "ListGenerativeQuestionConfigs": {
                          "requestType": "ListGenerativeQuestionConfigsRequest",
                          "responseType": "ListGenerativeQuestionConfigsResponse",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/generativeQuestions",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/generativeQuestions"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "UpdateGenerativeQuestionConfig": {
                          "requestType": "UpdateGenerativeQuestionConfigRequest",
                          "responseType": "GenerativeQuestionConfig",
                          "options": {
                            "(google.api.http).patch": "/v2alpha/{generative_question_config.catalog=projects/*/locations/*/catalogs/*}/generativeQuestion",
                            "(google.api.http).body": "generative_question_config",
                            "(google.api.method_signature)": "generative_question_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2alpha/{generative_question_config.catalog=projects/*/locations/*/catalogs/*}/generativeQuestion",
                                "body": "generative_question_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "generative_question_config,update_mask"
                            }
                          ]
                        },
                        "BatchUpdateGenerativeQuestionConfigs": {
                          "requestType": "BatchUpdateGenerativeQuestionConfigsRequest",
                          "responseType": "BatchUpdateGenerativeQuestionConfigsResponse",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/generativeQuestion:batchUpdate",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "parent,requests"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/generativeQuestion:batchUpdate",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,requests"
                            }
                          ]
                        }
                      }
                    },
                    "UpdateGenerativeQuestionsFeatureConfigRequest": {
                      "fields": {
                        "generativeQuestionsFeatureConfig": {
                          "type": "GenerativeQuestionsFeatureConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GetGenerativeQuestionsFeatureConfigRequest": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        }
                      }
                    },
                    "ListGenerativeQuestionConfigsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        }
                      }
                    },
                    "ListGenerativeQuestionConfigsResponse": {
                      "fields": {
                        "generativeQuestionConfigs": {
                          "rule": "repeated",
                          "type": "GenerativeQuestionConfig",
                          "id": 1
                        }
                      }
                    },
                    "UpdateGenerativeQuestionConfigRequest": {
                      "fields": {
                        "generativeQuestionConfig": {
                          "type": "GenerativeQuestionConfig",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "BatchUpdateGenerativeQuestionConfigsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "requests": {
                          "rule": "repeated",
                          "type": "UpdateGenerativeQuestionConfigRequest",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchUpdateGenerativeQuestionConfigsResponse": {
                      "fields": {
                        "generativeQuestionConfigs": {
                          "rule": "repeated",
                          "type": "GenerativeQuestionConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "MerchantCenterAccountLink": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/MerchantCenterAccountLink",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/merchantCenterAccountLinks/{merchant_center_account_link}"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "id": {
                          "type": "string",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "merchantCenterAccountId": {
                          "type": "int64",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "branchId": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "feedLabel": {
                          "type": "string",
                          "id": 4
                        },
                        "languageCode": {
                          "type": "string",
                          "id": 5
                        },
                        "feedFilters": {
                          "rule": "repeated",
                          "type": "MerchantCenterFeedFilter",
                          "id": 6
                        },
                        "state": {
                          "type": "State",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "projectId": {
                          "type": "string",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "source": {
                          "type": "string",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "MerchantCenterFeedFilter": {
                          "fields": {
                            "primaryFeedId": {
                              "type": "int64",
                              "id": 1,
                              "options": {
                                "deprecated": true
                              }
                            },
                            "dataSourceId": {
                              "type": "int64",
                              "id": 3
                            },
                            "primaryFeedName": {
                              "type": "string",
                              "id": 2
                            }
                          }
                        },
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "PENDING": 1,
                            "ACTIVE": 2,
                            "FAILED": 3
                          }
                        }
                      }
                    },
                    "CreateMerchantCenterAccountLinkMetadata": {
                      "fields": {
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 1
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2
                        }
                      }
                    },
                    "MerchantCenterAccountLinkService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "ListMerchantCenterAccountLinks": {
                          "requestType": "ListMerchantCenterAccountLinksRequest",
                          "responseType": "ListMerchantCenterAccountLinksResponse",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/merchantCenterAccountLinks",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/merchantCenterAccountLinks"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "CreateMerchantCenterAccountLink": {
                          "requestType": "CreateMerchantCenterAccountLinkRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/merchantCenterAccountLinks",
                            "(google.api.http).body": "merchant_center_account_link",
                            "(google.api.method_signature)": "parent,merchant_center_account_link",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.MerchantCenterAccountLink",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.CreateMerchantCenterAccountLinkMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/merchantCenterAccountLinks",
                                "body": "merchant_center_account_link"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,merchant_center_account_link"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.MerchantCenterAccountLink",
                                "metadata_type": "google.cloud.retail.v2alpha.CreateMerchantCenterAccountLinkMetadata"
                              }
                            }
                          ]
                        },
                        "DeleteMerchantCenterAccountLink": {
                          "requestType": "DeleteMerchantCenterAccountLinkRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v2alpha/{name=projects/*/locations/*/catalogs/*/merchantCenterAccountLinks/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v2alpha/{name=projects/*/locations/*/catalogs/*/merchantCenterAccountLinks/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        }
                      }
                    },
                    "ListMerchantCenterAccountLinksRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        }
                      }
                    },
                    "ListMerchantCenterAccountLinksResponse": {
                      "fields": {
                        "merchantCenterAccountLinks": {
                          "rule": "repeated",
                          "type": "MerchantCenterAccountLink",
                          "id": 1
                        }
                      }
                    },
                    "CreateMerchantCenterAccountLinkRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "merchantCenterAccountLink": {
                          "type": "MerchantCenterAccountLink",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "DeleteMerchantCenterAccountLinkRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/MerchantCenterAccountLink"
                          }
                        }
                      }
                    },
                    "Model": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/Model",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/models/{model}"
                      },
                      "oneofs": {
                        "trainingConfig": {
                          "oneof": [
                            "pageOptimizationConfig"
                          ]
                        }
                      },
                      "fields": {
                        "pageOptimizationConfig": {
                          "type": "PageOptimizationConfig",
                          "id": 17,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "trainingState": {
                          "type": "TrainingState",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "servingState": {
                          "type": "ServingState",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "type": {
                          "type": "string",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "optimizationObjective": {
                          "type": "string",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "periodicTuningState": {
                          "type": "PeriodicTuningState",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "lastTuneTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 12,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "tuningOperation": {
                          "type": "string",
                          "id": 15,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "dataState": {
                          "type": "DataState",
                          "id": 16,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "filteringOption": {
                          "type": "RecommendationsFilteringOption",
                          "id": 18,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "servingConfigLists": {
                          "rule": "repeated",
                          "type": "ServingConfigList",
                          "id": 19,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "modelFeaturesConfig": {
                          "type": "ModelFeaturesConfig",
                          "id": 22,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "PageOptimizationConfig": {
                          "fields": {
                            "pageOptimizationEventType": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "panels": {
                              "rule": "repeated",
                              "type": "Panel",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "restriction": {
                              "type": "Restriction",
                              "id": 3,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          },
                          "nested": {
                            "Candidate": {
                              "oneofs": {
                                "candidate": {
                                  "oneof": [
                                    "servingConfigId"
                                  ]
                                }
                              },
                              "fields": {
                                "servingConfigId": {
                                  "type": "string",
                                  "id": 1
                                }
                              }
                            },
                            "Panel": {
                              "fields": {
                                "displayName": {
                                  "type": "string",
                                  "id": 1,
                                  "options": {
                                    "(google.api.field_behavior)": "OPTIONAL"
                                  }
                                },
                                "candidates": {
                                  "rule": "repeated",
                                  "type": "Candidate",
                                  "id": 2,
                                  "options": {
                                    "(google.api.field_behavior)": "REQUIRED"
                                  }
                                },
                                "defaultCandidate": {
                                  "type": "Candidate",
                                  "id": 3,
                                  "options": {
                                    "(google.api.field_behavior)": "REQUIRED"
                                  }
                                }
                              }
                            },
                            "Restriction": {
                              "values": {
                                "RESTRICTION_UNSPECIFIED": 0,
                                "NO_RESTRICTION": 1,
                                "UNIQUE_SERVING_CONFIG_RESTRICTION": 2,
                                "UNIQUE_MODEL_RESTRICTION": 3,
                                "UNIQUE_MODEL_TYPE_RESTRICTION": 4
                              }
                            }
                          }
                        },
                        "ServingConfigList": {
                          "fields": {
                            "servingConfigIds": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          }
                        },
                        "FrequentlyBoughtTogetherFeaturesConfig": {
                          "fields": {
                            "contextProductsType": {
                              "type": "ContextProductsType",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          }
                        },
                        "ModelFeaturesConfig": {
                          "oneofs": {
                            "typeDedicatedConfig": {
                              "oneof": [
                                "frequentlyBoughtTogetherConfig"
                              ]
                            }
                          },
                          "fields": {
                            "frequentlyBoughtTogetherConfig": {
                              "type": "FrequentlyBoughtTogetherFeaturesConfig",
                              "id": 1
                            }
                          }
                        },
                        "ServingState": {
                          "values": {
                            "SERVING_STATE_UNSPECIFIED": 0,
                            "INACTIVE": 1,
                            "ACTIVE": 2,
                            "TUNED": 3
                          }
                        },
                        "TrainingState": {
                          "values": {
                            "TRAINING_STATE_UNSPECIFIED": 0,
                            "PAUSED": 1,
                            "TRAINING": 2
                          }
                        },
                        "PeriodicTuningState": {
                          "values": {
                            "PERIODIC_TUNING_STATE_UNSPECIFIED": 0,
                            "PERIODIC_TUNING_DISABLED": 1,
                            "ALL_TUNING_DISABLED": 3,
                            "PERIODIC_TUNING_ENABLED": 2
                          }
                        },
                        "DataState": {
                          "values": {
                            "DATA_STATE_UNSPECIFIED": 0,
                            "DATA_OK": 1,
                            "DATA_ERROR": 2
                          }
                        },
                        "ContextProductsType": {
                          "values": {
                            "CONTEXT_PRODUCTS_TYPE_UNSPECIFIED": 0,
                            "SINGLE_CONTEXT_PRODUCT": 1,
                            "MULTIPLE_CONTEXT_PRODUCTS": 2
                          }
                        }
                      }
                    },
                    "ModelService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "CreateModel": {
                          "requestType": "CreateModelRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/models",
                            "(google.api.http).body": "model",
                            "(google.api.method_signature)": "parent,model",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.Model",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.CreateModelMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/models",
                                "body": "model"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,model"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.Model",
                                "metadata_type": "google.cloud.retail.v2alpha.CreateModelMetadata"
                              }
                            }
                          ]
                        },
                        "GetModel": {
                          "requestType": "GetModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{name=projects/*/locations/*/catalogs/*/models/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{name=projects/*/locations/*/catalogs/*/models/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "PauseModel": {
                          "requestType": "PauseModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{name=projects/*/locations/*/catalogs/*/models/*}:pause",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{name=projects/*/locations/*/catalogs/*/models/*}:pause",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ResumeModel": {
                          "requestType": "ResumeModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{name=projects/*/locations/*/catalogs/*/models/*}:resume",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{name=projects/*/locations/*/catalogs/*/models/*}:resume",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "DeleteModel": {
                          "requestType": "DeleteModelRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v2alpha/{name=projects/*/locations/*/catalogs/*/models/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v2alpha/{name=projects/*/locations/*/catalogs/*/models/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListModels": {
                          "requestType": "ListModelsRequest",
                          "responseType": "ListModelsResponse",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/models",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/models"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "UpdateModel": {
                          "requestType": "UpdateModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).patch": "/v2alpha/{model.name=projects/*/locations/*/catalogs/*/models/*}",
                            "(google.api.http).body": "model",
                            "(google.api.method_signature)": "model,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2alpha/{model.name=projects/*/locations/*/catalogs/*/models/*}",
                                "body": "model"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,update_mask"
                            }
                          ]
                        },
                        "TuneModel": {
                          "requestType": "TuneModelRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{name=projects/*/locations/*/catalogs/*/models/*}:tune",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.TuneModelResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.TuneModelMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{name=projects/*/locations/*/catalogs/*/models/*}:tune",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.TuneModelResponse",
                                "metadata_type": "google.cloud.retail.v2alpha.TuneModelMetadata"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "CreateModelRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "model": {
                          "type": "Model",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "dryRun": {
                          "type": "bool",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "UpdateModelRequest": {
                      "fields": {
                        "model": {
                          "type": "Model",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GetModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "PauseModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "ResumeModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "ListModelsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "DeleteModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "ListModelsResponse": {
                      "fields": {
                        "models": {
                          "rule": "repeated",
                          "type": "Model",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "TuneModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "CreateModelMetadata": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "TuneModelMetadata": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "TuneModelResponse": {
                      "fields": {}
                    },
                    "PredictionService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "Predict": {
                          "requestType": "PredictRequest",
                          "responseType": "PredictResponse",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{placement=projects/*/locations/*/catalogs/*/placements/*}:predict",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v2alpha/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:predict",
                            "(google.api.http).additional_bindings.body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{placement=projects/*/locations/*/catalogs/*/placements/*}:predict",
                                "body": "*",
                                "additional_bindings": {
                                  "post": "/v2alpha/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:predict",
                                  "body": "*"
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    "PredictRequest": {
                      "fields": {
                        "placement": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userEvent": {
                          "type": "UserEvent",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 3
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 5
                        },
                        "validateOnly": {
                          "type": "bool",
                          "id": 6
                        },
                        "params": {
                          "keyType": "string",
                          "type": "google.protobuf.Value",
                          "id": 7
                        },
                        "labels": {
                          "keyType": "string",
                          "type": "string",
                          "id": 8
                        }
                      }
                    },
                    "PredictResponse": {
                      "fields": {
                        "results": {
                          "rule": "repeated",
                          "type": "PredictionResult",
                          "id": 1
                        },
                        "attributionToken": {
                          "type": "string",
                          "id": 2
                        },
                        "missingIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3
                        },
                        "validateOnly": {
                          "type": "bool",
                          "id": 4
                        }
                      },
                      "nested": {
                        "PredictionResult": {
                          "fields": {
                            "id": {
                              "type": "string",
                              "id": 1
                            },
                            "metadata": {
                              "keyType": "string",
                              "type": "google.protobuf.Value",
                              "id": 2
                            }
                          }
                        }
                      }
                    },
                    "ProductService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "CreateProduct": {
                          "requestType": "CreateProductRequest",
                          "responseType": "Product",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*/branches/*}/products",
                            "(google.api.http).body": "product",
                            "(google.api.method_signature)": "parent,product,product_id"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*/branches/*}/products",
                                "body": "product"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,product,product_id"
                            }
                          ]
                        },
                        "GetProduct": {
                          "requestType": "GetProductRequest",
                          "responseType": "Product",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListProducts": {
                          "requestType": "ListProductsRequest",
                          "responseType": "ListProductsResponse",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{parent=projects/*/locations/*/catalogs/*/branches/*}/products",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{parent=projects/*/locations/*/catalogs/*/branches/*}/products"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "UpdateProduct": {
                          "requestType": "UpdateProductRequest",
                          "responseType": "Product",
                          "options": {
                            "(google.api.http).patch": "/v2alpha/{product.name=projects/*/locations/*/catalogs/*/branches/*/products/**}",
                            "(google.api.http).body": "product",
                            "(google.api.method_signature)": "product,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2alpha/{product.name=projects/*/locations/*/catalogs/*/branches/*/products/**}",
                                "body": "product"
                              }
                            },
                            {
                              "(google.api.method_signature)": "product,update_mask"
                            }
                          ]
                        },
                        "DeleteProduct": {
                          "requestType": "DeleteProductRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v2alpha/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v2alpha/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "PurgeProducts": {
                          "requestType": "PurgeProductsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:purge",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.PurgeProductsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.PurgeProductsMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:purge",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.PurgeProductsResponse",
                                "metadata_type": "google.cloud.retail.v2alpha.PurgeProductsMetadata"
                              }
                            }
                          ]
                        },
                        "ImportProducts": {
                          "requestType": "ImportProductsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:import",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.ImportProductsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.ImportMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:import",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.ImportProductsResponse",
                                "metadata_type": "google.cloud.retail.v2alpha.ImportMetadata"
                              }
                            }
                          ]
                        },
                        "ExportProducts": {
                          "requestType": "ExportProductsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:export",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.ExportProductsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.ExportMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:export",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.ExportProductsResponse",
                                "metadata_type": "google.cloud.retail.v2alpha.ExportMetadata"
                              }
                            }
                          ]
                        },
                        "SetInventory": {
                          "requestType": "SetInventoryRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{inventory.name=projects/*/locations/*/catalogs/*/branches/*/products/**}:setInventory",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "inventory,set_mask",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.SetInventoryResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.SetInventoryMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{inventory.name=projects/*/locations/*/catalogs/*/branches/*/products/**}:setInventory",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "inventory,set_mask"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.SetInventoryResponse",
                                "metadata_type": "google.cloud.retail.v2alpha.SetInventoryMetadata"
                              }
                            }
                          ]
                        },
                        "AddFulfillmentPlaces": {
                          "requestType": "AddFulfillmentPlacesRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addFulfillmentPlaces",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "product",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.AddFulfillmentPlacesResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.AddFulfillmentPlacesMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addFulfillmentPlaces",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "product"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.AddFulfillmentPlacesResponse",
                                "metadata_type": "google.cloud.retail.v2alpha.AddFulfillmentPlacesMetadata"
                              }
                            }
                          ]
                        },
                        "RemoveFulfillmentPlaces": {
                          "requestType": "RemoveFulfillmentPlacesRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeFulfillmentPlaces",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "product",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.RemoveFulfillmentPlacesResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.RemoveFulfillmentPlacesMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeFulfillmentPlaces",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "product"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.RemoveFulfillmentPlacesResponse",
                                "metadata_type": "google.cloud.retail.v2alpha.RemoveFulfillmentPlacesMetadata"
                              }
                            }
                          ]
                        },
                        "AddLocalInventories": {
                          "requestType": "AddLocalInventoriesRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addLocalInventories",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "product",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.AddLocalInventoriesResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.AddLocalInventoriesMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addLocalInventories",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "product"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.AddLocalInventoriesResponse",
                                "metadata_type": "google.cloud.retail.v2alpha.AddLocalInventoriesMetadata"
                              }
                            }
                          ]
                        },
                        "RemoveLocalInventories": {
                          "requestType": "RemoveLocalInventoriesRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeLocalInventories",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "product",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.RemoveLocalInventoriesResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.RemoveLocalInventoriesMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeLocalInventories",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "product"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.RemoveLocalInventoriesResponse",
                                "metadata_type": "google.cloud.retail.v2alpha.RemoveLocalInventoriesMetadata"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "CreateProductRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "product": {
                          "type": "Product",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "productId": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "GetProductRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        }
                      }
                    },
                    "UpdateProductRequest": {
                      "fields": {
                        "product": {
                          "type": "Product",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 3
                        }
                      }
                    },
                    "DeleteProductRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        },
                        "force": {
                          "type": "bool",
                          "id": 4
                        }
                      }
                    },
                    "ListProductsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3
                        },
                        "filter": {
                          "type": "string",
                          "id": 4
                        },
                        "readMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 5
                        },
                        "requireTotalSize": {
                          "type": "bool",
                          "id": 6
                        }
                      }
                    },
                    "ListProductsResponse": {
                      "fields": {
                        "products": {
                          "rule": "repeated",
                          "type": "Product",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        },
                        "totalSize": {
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "SetInventoryRequest": {
                      "fields": {
                        "inventory": {
                          "type": "Product",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "setMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        },
                        "setTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 3
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 4
                        }
                      }
                    },
                    "SetInventoryMetadata": {
                      "fields": {}
                    },
                    "SetInventoryResponse": {
                      "fields": {}
                    },
                    "AddFulfillmentPlacesRequest": {
                      "fields": {
                        "product": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        },
                        "type": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "placeIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "addTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 5
                        }
                      }
                    },
                    "AddFulfillmentPlacesMetadata": {
                      "fields": {}
                    },
                    "AddFulfillmentPlacesResponse": {
                      "fields": {}
                    },
                    "AddLocalInventoriesRequest": {
                      "fields": {
                        "product": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        },
                        "localInventories": {
                          "rule": "repeated",
                          "type": "LocalInventory",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "addMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 4
                        },
                        "addTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 6
                        }
                      }
                    },
                    "AddLocalInventoriesMetadata": {
                      "fields": {}
                    },
                    "AddLocalInventoriesResponse": {
                      "fields": {}
                    },
                    "RemoveLocalInventoriesRequest": {
                      "fields": {
                        "product": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        },
                        "placeIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "removeTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 3
                        }
                      }
                    },
                    "RemoveLocalInventoriesMetadata": {
                      "fields": {}
                    },
                    "RemoveLocalInventoriesResponse": {
                      "fields": {}
                    },
                    "RemoveFulfillmentPlacesRequest": {
                      "fields": {
                        "product": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        },
                        "type": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "placeIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "removeTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 5
                        }
                      }
                    },
                    "RemoveFulfillmentPlacesMetadata": {
                      "fields": {}
                    },
                    "RemoveFulfillmentPlacesResponse": {
                      "fields": {}
                    },
                    "PurgeMetadata": {
                      "fields": {}
                    },
                    "PurgeProductsMetadata": {
                      "fields": {
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 1
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2
                        },
                        "successCount": {
                          "type": "int64",
                          "id": 3
                        },
                        "failureCount": {
                          "type": "int64",
                          "id": 4
                        }
                      }
                    },
                    "PurgeProductsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "force": {
                          "type": "bool",
                          "id": 3
                        }
                      }
                    },
                    "PurgeProductsResponse": {
                      "fields": {
                        "purgeCount": {
                          "type": "int64",
                          "id": 1
                        },
                        "purgeSample": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        }
                      }
                    },
                    "PurgeUserEventsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "force": {
                          "type": "bool",
                          "id": 3
                        }
                      }
                    },
                    "PurgeUserEventsResponse": {
                      "fields": {
                        "purgedEventsCount": {
                          "type": "int64",
                          "id": 1
                        }
                      }
                    },
                    "LoggingConfig": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/LoggingConfig",
                        "(google.api.resource).pattern": "projects/{project}/loggingConfig"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "defaultLogGenerationRule": {
                          "type": "LogGenerationRule",
                          "id": 2
                        },
                        "serviceLogGenerationRules": {
                          "rule": "repeated",
                          "type": "ServiceLogGenerationRule",
                          "id": 4
                        }
                      },
                      "nested": {
                        "LogGenerationRule": {
                          "oneofs": {
                            "_infoLogSampleRate": {
                              "oneof": [
                                "infoLogSampleRate"
                              ]
                            }
                          },
                          "fields": {
                            "loggingLevel": {
                              "type": "LoggingLevel",
                              "id": 1
                            },
                            "infoLogSampleRate": {
                              "type": "float",
                              "id": 2,
                              "options": {
                                "proto3_optional": true
                              }
                            }
                          }
                        },
                        "ServiceLogGenerationRule": {
                          "fields": {
                            "serviceName": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "logGenerationRule": {
                              "type": "LogGenerationRule",
                              "id": 3
                            }
                          }
                        },
                        "LoggingLevel": {
                          "values": {
                            "LOGGING_LEVEL_UNSPECIFIED": 0,
                            "LOGGING_DISABLED": 1,
                            "LOG_ERRORS_AND_ABOVE": 2,
                            "LOG_WARNINGS_AND_ABOVE": 3,
                            "LOG_ALL": 4
                          }
                        }
                      }
                    },
                    "Project": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/RetailProject",
                        "(google.api.resource).pattern": "projects/{project}/retailProject"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "enrolledSolutions": {
                          "rule": "repeated",
                          "type": "SolutionType",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "AlertConfig": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/AlertConfig",
                        "(google.api.resource).pattern": "projects/{project}/alertConfig"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "alertPolicies": {
                          "rule": "repeated",
                          "type": "AlertPolicy",
                          "id": 2
                        }
                      },
                      "nested": {
                        "AlertPolicy": {
                          "fields": {
                            "alertGroup": {
                              "type": "string",
                              "id": 1
                            },
                            "enrollStatus": {
                              "type": "EnrollStatus",
                              "id": 2
                            },
                            "recipients": {
                              "rule": "repeated",
                              "type": "Recipient",
                              "id": 3
                            }
                          },
                          "nested": {
                            "Recipient": {
                              "fields": {
                                "emailAddress": {
                                  "type": "string",
                                  "id": 1
                                }
                              }
                            },
                            "EnrollStatus": {
                              "values": {
                                "ENROLL_STATUS_UNSPECIFIED": 0,
                                "ENROLLED": 1,
                                "DECLINED": 2
                              }
                            }
                          }
                        }
                      }
                    },
                    "ProjectService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "GetProject": {
                          "requestType": "GetProjectRequest",
                          "responseType": "Project",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{name=projects/*/retailProject}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{name=projects/*/retailProject}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "AcceptTerms": {
                          "requestType": "AcceptTermsRequest",
                          "responseType": "Project",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{project=projects/*/retailProject}:acceptTerms",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "project"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{project=projects/*/retailProject}:acceptTerms",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "project"
                            }
                          ]
                        },
                        "EnrollSolution": {
                          "requestType": "EnrollSolutionRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{project=projects/*}:enrollSolution",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.EnrollSolutionResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.EnrollSolutionMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{project=projects/*}:enrollSolution",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.EnrollSolutionResponse",
                                "metadata_type": "google.cloud.retail.v2alpha.EnrollSolutionMetadata"
                              }
                            }
                          ]
                        },
                        "ListEnrolledSolutions": {
                          "requestType": "ListEnrolledSolutionsRequest",
                          "responseType": "ListEnrolledSolutionsResponse",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{parent=projects/*}:enrolledSolutions",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{parent=projects/*}:enrolledSolutions"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "GetLoggingConfig": {
                          "requestType": "GetLoggingConfigRequest",
                          "responseType": "LoggingConfig",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{name=projects/*/loggingConfig}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{name=projects/*/loggingConfig}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateLoggingConfig": {
                          "requestType": "UpdateLoggingConfigRequest",
                          "responseType": "LoggingConfig",
                          "options": {
                            "(google.api.http).patch": "/v2alpha/{logging_config.name=projects/*/loggingConfig}",
                            "(google.api.http).body": "logging_config",
                            "(google.api.method_signature)": "logging_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2alpha/{logging_config.name=projects/*/loggingConfig}",
                                "body": "logging_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "logging_config,update_mask"
                            }
                          ]
                        },
                        "GetAlertConfig": {
                          "requestType": "GetAlertConfigRequest",
                          "responseType": "AlertConfig",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{name=projects/*/alertConfig}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{name=projects/*/alertConfig}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateAlertConfig": {
                          "requestType": "UpdateAlertConfigRequest",
                          "responseType": "AlertConfig",
                          "options": {
                            "(google.api.http).patch": "/v2alpha/{alert_config.name=projects/*/alertConfig}",
                            "(google.api.http).body": "alert_config",
                            "(google.api.method_signature)": "alert_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2alpha/{alert_config.name=projects/*/alertConfig}",
                                "body": "alert_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "alert_config,update_mask"
                            }
                          ]
                        }
                      }
                    },
                    "GetProjectRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/RetailProject"
                          }
                        }
                      }
                    },
                    "AcceptTermsRequest": {
                      "fields": {
                        "project": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/RetailProject"
                          }
                        }
                      }
                    },
                    "EnrollSolutionRequest": {
                      "fields": {
                        "project": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudresourcemanager.googleapis.com/Project"
                          }
                        },
                        "solution": {
                          "type": "SolutionType",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "EnrollSolutionResponse": {
                      "fields": {
                        "enrolledSolution": {
                          "type": "SolutionType",
                          "id": 1
                        }
                      }
                    },
                    "EnrollSolutionMetadata": {
                      "fields": {}
                    },
                    "ListEnrolledSolutionsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudresourcemanager.googleapis.com/Project"
                          }
                        }
                      }
                    },
                    "ListEnrolledSolutionsResponse": {
                      "fields": {
                        "enrolledSolutions": {
                          "rule": "repeated",
                          "type": "SolutionType",
                          "id": 1
                        }
                      }
                    },
                    "GetLoggingConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/LoggingConfig"
                          }
                        }
                      }
                    },
                    "UpdateLoggingConfigRequest": {
                      "fields": {
                        "loggingConfig": {
                          "type": "LoggingConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "GetAlertConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/AlertConfig"
                          }
                        }
                      }
                    },
                    "UpdateAlertConfigRequest": {
                      "fields": {
                        "alertConfig": {
                          "type": "AlertConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "ServingConfig": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/ServingConfig",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/servingConfigs/{serving_config}"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "modelId": {
                          "type": "string",
                          "id": 3
                        },
                        "priceRerankingLevel": {
                          "type": "string",
                          "id": 4
                        },
                        "facetControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5
                        },
                        "dynamicFacetSpec": {
                          "type": "SearchRequest.DynamicFacetSpec",
                          "id": 6
                        },
                        "boostControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 7
                        },
                        "filterControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 9
                        },
                        "redirectControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 10
                        },
                        "twowaySynonymsControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 18
                        },
                        "onewaySynonymsControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 12
                        },
                        "doNotAssociateControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 13
                        },
                        "replacementControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 14
                        },
                        "ignoreControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 15
                        },
                        "diversityLevel": {
                          "type": "string",
                          "id": 8
                        },
                        "diversityType": {
                          "type": "DiversityType",
                          "id": 20
                        },
                        "enableCategoryFilterLevel": {
                          "type": "string",
                          "id": 16
                        },
                        "ignoreRecsDenylist": {
                          "type": "bool",
                          "id": 24
                        },
                        "personalizationSpec": {
                          "type": "SearchRequest.PersonalizationSpec",
                          "id": 21
                        },
                        "solutionTypes": {
                          "rule": "repeated",
                          "type": "SolutionType",
                          "id": 19,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        }
                      },
                      "nested": {
                        "DiversityType": {
                          "values": {
                            "DIVERSITY_TYPE_UNSPECIFIED": 0,
                            "RULE_BASED_DIVERSITY": 2,
                            "DATA_DRIVEN_DIVERSITY": 3
                          }
                        }
                      }
                    },
                    "ServingConfigService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "CreateServingConfig": {
                          "requestType": "CreateServingConfigRequest",
                          "responseType": "ServingConfig",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/servingConfigs",
                            "(google.api.http).body": "serving_config",
                            "(google.api.method_signature)": "parent,serving_config,serving_config_id"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/servingConfigs",
                                "body": "serving_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,serving_config,serving_config_id"
                            }
                          ]
                        },
                        "DeleteServingConfig": {
                          "requestType": "DeleteServingConfigRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v2alpha/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v2alpha/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateServingConfig": {
                          "requestType": "UpdateServingConfigRequest",
                          "responseType": "ServingConfig",
                          "options": {
                            "(google.api.http).patch": "/v2alpha/{serving_config.name=projects/*/locations/*/catalogs/*/servingConfigs/*}",
                            "(google.api.http).body": "serving_config",
                            "(google.api.method_signature)": "serving_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2alpha/{serving_config.name=projects/*/locations/*/catalogs/*/servingConfigs/*}",
                                "body": "serving_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "serving_config,update_mask"
                            }
                          ]
                        },
                        "GetServingConfig": {
                          "requestType": "GetServingConfigRequest",
                          "responseType": "ServingConfig",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListServingConfigs": {
                          "requestType": "ListServingConfigsRequest",
                          "responseType": "ListServingConfigsResponse",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/servingConfigs",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/servingConfigs"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "AddControl": {
                          "requestType": "AddControlRequest",
                          "responseType": "ServingConfig",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:addControl",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "serving_config"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:addControl",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "serving_config"
                            }
                          ]
                        },
                        "RemoveControl": {
                          "requestType": "RemoveControlRequest",
                          "responseType": "ServingConfig",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:removeControl",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "serving_config"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:removeControl",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "serving_config"
                            }
                          ]
                        }
                      }
                    },
                    "CreateServingConfigRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "servingConfig": {
                          "type": "ServingConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "servingConfigId": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "UpdateServingConfigRequest": {
                      "fields": {
                        "servingConfig": {
                          "type": "ServingConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "DeleteServingConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                          }
                        }
                      }
                    },
                    "GetServingConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                          }
                        }
                      }
                    },
                    "ListServingConfigsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListServingConfigsResponse": {
                      "fields": {
                        "servingConfigs": {
                          "rule": "repeated",
                          "type": "ServingConfig",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "AddControlRequest": {
                      "fields": {
                        "servingConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                          }
                        },
                        "controlId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "RemoveControlRequest": {
                      "fields": {
                        "servingConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                          }
                        },
                        "controlId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "UserEventService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "WriteUserEvent": {
                          "requestType": "WriteUserEventRequest",
                          "responseType": "UserEvent",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:write",
                            "(google.api.http).body": "user_event"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:write",
                                "body": "user_event"
                              }
                            }
                          ]
                        },
                        "CollectUserEvent": {
                          "requestType": "CollectUserEventRequest",
                          "responseType": "google.api.HttpBody",
                          "options": {
                            "(google.api.http).get": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect",
                            "(google.api.http).additional_bindings.post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect",
                            "(google.api.http).additional_bindings.body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect",
                                "additional_bindings": {
                                  "post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect",
                                  "body": "*"
                                }
                              }
                            }
                          ]
                        },
                        "PurgeUserEvents": {
                          "requestType": "PurgeUserEventsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:purge",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.PurgeUserEventsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.PurgeMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:purge",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.PurgeUserEventsResponse",
                                "metadata_type": "google.cloud.retail.v2alpha.PurgeMetadata"
                              }
                            }
                          ]
                        },
                        "ImportUserEvents": {
                          "requestType": "ImportUserEventsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:import",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.ImportUserEventsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.ImportMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:import",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.ImportUserEventsResponse",
                                "metadata_type": "google.cloud.retail.v2alpha.ImportMetadata"
                              }
                            }
                          ]
                        },
                        "ExportUserEvents": {
                          "requestType": "ExportUserEventsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:export",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2alpha.ExportUserEventsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2alpha.ExportMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:export",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2alpha.ExportUserEventsResponse",
                                "metadata_type": "google.cloud.retail.v2alpha.ExportMetadata"
                              }
                            }
                          ]
                        },
                        "RejoinUserEvents": {
                          "requestType": "RejoinUserEventsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:rejoin",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "RejoinUserEventsResponse",
                            "(google.longrunning.operation_info).metadata_type": "RejoinUserEventsMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:rejoin",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "RejoinUserEventsResponse",
                                "metadata_type": "RejoinUserEventsMetadata"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "WriteUserEventRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userEvent": {
                          "type": "UserEvent",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "writeAsync": {
                          "type": "bool",
                          "id": 3
                        }
                      }
                    },
                    "CollectUserEventRequest": {
                      "oneofs": {
                        "conversionRule": {
                          "oneof": [
                            "prebuiltRule"
                          ]
                        }
                      },
                      "fields": {
                        "prebuiltRule": {
                          "type": "string",
                          "id": 6
                        },
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userEvent": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "uri": {
                          "type": "string",
                          "id": 3
                        },
                        "ets": {
                          "type": "int64",
                          "id": 4
                        },
                        "rawJson": {
                          "type": "string",
                          "id": 5
                        }
                      }
                    },
                    "RejoinUserEventsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userEventRejoinScope": {
                          "type": "UserEventRejoinScope",
                          "id": 2
                        }
                      },
                      "nested": {
                        "UserEventRejoinScope": {
                          "values": {
                            "USER_EVENT_REJOIN_SCOPE_UNSPECIFIED": 0,
                            "JOINED_EVENTS": 1,
                            "UNJOINED_EVENTS": 2
                          }
                        }
                      }
                    },
                    "RejoinUserEventsResponse": {
                      "fields": {
                        "rejoinedUserEventsCount": {
                          "type": "int64",
                          "id": 1
                        }
                      }
                    },
                    "RejoinUserEventsMetadata": {
                      "fields": {}
                    }
                  }
                },
                "v2beta": {
                  "options": {
                    "csharp_namespace": "Google.Cloud.Retail.V2Beta",
                    "go_package": "cloud.google.com/go/retail/apiv2beta/retailpb;retailpb",
                    "java_multiple_files": true,
                    "java_outer_classname": "UserEventServiceProto",
                    "java_package": "com.google.cloud.retail.v2beta",
                    "objc_class_prefix": "RETAIL",
                    "php_namespace": "Google\\Cloud\\Retail\\V2beta",
                    "ruby_package": "Google::Cloud::Retail::V2beta",
                    "(google.api.resource_definition).type": "retail.googleapis.com/Experiment",
                    "(google.api.resource_definition).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/experiments/{experiment}"
                  },
                  "nested": {
                    "AnalyticsService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "ExportAnalyticsMetrics": {
                          "requestType": "ExportAnalyticsMetricsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2beta/{catalog=projects/*/locations/*/catalogs/*}:exportAnalyticsMetrics",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2beta.ExportAnalyticsMetricsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2beta.ExportMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{catalog=projects/*/locations/*/catalogs/*}:exportAnalyticsMetrics",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2beta.ExportAnalyticsMetricsResponse",
                                "metadata_type": "google.cloud.retail.v2beta.ExportMetadata"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "OutputConfig": {
                      "oneofs": {
                        "destination": {
                          "oneof": [
                            "gcsDestination",
                            "bigqueryDestination"
                          ]
                        }
                      },
                      "fields": {
                        "gcsDestination": {
                          "type": "GcsDestination",
                          "id": 1
                        },
                        "bigqueryDestination": {
                          "type": "BigQueryDestination",
                          "id": 2
                        }
                      },
                      "nested": {
                        "GcsDestination": {
                          "fields": {
                            "outputUriPrefix": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        },
                        "BigQueryDestination": {
                          "fields": {
                            "datasetId": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "tableIdPrefix": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "tableType": {
                              "type": "string",
                              "id": 3,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        }
                      }
                    },
                    "ExportErrorsConfig": {
                      "oneofs": {
                        "destination": {
                          "oneof": [
                            "gcsPrefix"
                          ]
                        }
                      },
                      "fields": {
                        "gcsPrefix": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "ExportProductsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "outputConfig": {
                          "type": "OutputConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ExportUserEventsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "outputConfig": {
                          "type": "OutputConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ExportAnalyticsMetricsRequest": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "outputConfig": {
                          "type": "OutputConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ExportMetadata": {
                      "fields": {
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 1
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2
                        }
                      }
                    },
                    "ExportProductsResponse": {
                      "fields": {
                        "errorSamples": {
                          "rule": "repeated",
                          "type": "google.rpc.Status",
                          "id": 1
                        },
                        "errorsConfig": {
                          "type": "ExportErrorsConfig",
                          "id": 2
                        },
                        "outputResult": {
                          "type": "OutputResult",
                          "id": 3
                        }
                      }
                    },
                    "ExportUserEventsResponse": {
                      "fields": {
                        "errorSamples": {
                          "rule": "repeated",
                          "type": "google.rpc.Status",
                          "id": 1
                        },
                        "errorsConfig": {
                          "type": "ExportErrorsConfig",
                          "id": 2
                        },
                        "outputResult": {
                          "type": "OutputResult",
                          "id": 3
                        }
                      }
                    },
                    "ExportAnalyticsMetricsResponse": {
                      "fields": {
                        "errorSamples": {
                          "rule": "repeated",
                          "type": "google.rpc.Status",
                          "id": 1
                        },
                        "errorsConfig": {
                          "type": "ExportErrorsConfig",
                          "id": 2
                        },
                        "outputResult": {
                          "type": "OutputResult",
                          "id": 3
                        }
                      }
                    },
                    "OutputResult": {
                      "fields": {
                        "bigqueryResult": {
                          "rule": "repeated",
                          "type": "BigQueryOutputResult",
                          "id": 1
                        },
                        "gcsResult": {
                          "rule": "repeated",
                          "type": "GcsOutputResult",
                          "id": 2
                        }
                      }
                    },
                    "BigQueryOutputResult": {
                      "fields": {
                        "datasetId": {
                          "type": "string",
                          "id": 1
                        },
                        "tableId": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "GcsOutputResult": {
                      "fields": {
                        "outputUri": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "ProductLevelConfig": {
                      "fields": {
                        "ingestionProductType": {
                          "type": "string",
                          "id": 1
                        },
                        "merchantCenterProductIdField": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "CatalogAttribute": {
                      "fields": {
                        "key": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "inUse": {
                          "type": "bool",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "type": {
                          "type": "AttributeType",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "indexableOption": {
                          "type": "IndexableOption",
                          "id": 5
                        },
                        "dynamicFacetableOption": {
                          "type": "DynamicFacetableOption",
                          "id": 6
                        },
                        "searchableOption": {
                          "type": "SearchableOption",
                          "id": 7
                        },
                        "recommendationsFilteringOption": {
                          "type": "RecommendationsFilteringOption",
                          "id": 8
                        },
                        "exactSearchableOption": {
                          "type": "ExactSearchableOption",
                          "id": 11
                        },
                        "retrievableOption": {
                          "type": "RetrievableOption",
                          "id": 12
                        },
                        "facetConfig": {
                          "type": "FacetConfig",
                          "id": 13
                        }
                      },
                      "nested": {
                        "FacetConfig": {
                          "fields": {
                            "facetIntervals": {
                              "rule": "repeated",
                              "type": "Interval",
                              "id": 1
                            },
                            "ignoredFacetValues": {
                              "rule": "repeated",
                              "type": "IgnoredFacetValues",
                              "id": 2
                            },
                            "mergedFacetValues": {
                              "rule": "repeated",
                              "type": "MergedFacetValue",
                              "id": 3
                            },
                            "mergedFacet": {
                              "type": "MergedFacet",
                              "id": 4
                            },
                            "rerankConfig": {
                              "type": "RerankConfig",
                              "id": 5
                            }
                          },
                          "nested": {
                            "IgnoredFacetValues": {
                              "fields": {
                                "values": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 1
                                },
                                "startTime": {
                                  "type": "google.protobuf.Timestamp",
                                  "id": 2
                                },
                                "endTime": {
                                  "type": "google.protobuf.Timestamp",
                                  "id": 3
                                }
                              }
                            },
                            "MergedFacetValue": {
                              "fields": {
                                "values": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 1
                                },
                                "mergedValue": {
                                  "type": "string",
                                  "id": 2
                                }
                              }
                            },
                            "MergedFacet": {
                              "fields": {
                                "mergedFacetKey": {
                                  "type": "string",
                                  "id": 1
                                }
                              }
                            },
                            "RerankConfig": {
                              "fields": {
                                "rerankFacet": {
                                  "type": "bool",
                                  "id": 1
                                },
                                "facetValues": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 2
                                }
                              }
                            }
                          }
                        },
                        "AttributeType": {
                          "values": {
                            "UNKNOWN": 0,
                            "TEXTUAL": 1,
                            "NUMERICAL": 2
                          }
                        },
                        "IndexableOption": {
                          "values": {
                            "INDEXABLE_OPTION_UNSPECIFIED": 0,
                            "INDEXABLE_ENABLED": 1,
                            "INDEXABLE_DISABLED": 2
                          }
                        },
                        "DynamicFacetableOption": {
                          "values": {
                            "DYNAMIC_FACETABLE_OPTION_UNSPECIFIED": 0,
                            "DYNAMIC_FACETABLE_ENABLED": 1,
                            "DYNAMIC_FACETABLE_DISABLED": 2
                          }
                        },
                        "SearchableOption": {
                          "values": {
                            "SEARCHABLE_OPTION_UNSPECIFIED": 0,
                            "SEARCHABLE_ENABLED": 1,
                            "SEARCHABLE_DISABLED": 2
                          }
                        },
                        "ExactSearchableOption": {
                          "values": {
                            "EXACT_SEARCHABLE_OPTION_UNSPECIFIED": 0,
                            "EXACT_SEARCHABLE_ENABLED": 1,
                            "EXACT_SEARCHABLE_DISABLED": 2
                          }
                        },
                        "RetrievableOption": {
                          "values": {
                            "RETRIEVABLE_OPTION_UNSPECIFIED": 0,
                            "RETRIEVABLE_ENABLED": 1,
                            "RETRIEVABLE_DISABLED": 2
                          }
                        }
                      }
                    },
                    "AttributesConfig": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/AttributesConfig",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/attributesConfig"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "catalogAttributes": {
                          "keyType": "string",
                          "type": "CatalogAttribute",
                          "id": 2
                        },
                        "attributeConfigLevel": {
                          "type": "AttributeConfigLevel",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "CompletionConfig": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/CompletionConfig",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/completionConfig"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "matchingOrder": {
                          "type": "string",
                          "id": 2
                        },
                        "maxSuggestions": {
                          "type": "int32",
                          "id": 3
                        },
                        "minPrefixLength": {
                          "type": "int32",
                          "id": 4
                        },
                        "autoLearning": {
                          "type": "bool",
                          "id": 11
                        },
                        "suggestionsInputConfig": {
                          "type": "CompletionDataInputConfig",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "lastSuggestionsImportOperation": {
                          "type": "string",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "denylistInputConfig": {
                          "type": "CompletionDataInputConfig",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "lastDenylistImportOperation": {
                          "type": "string",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "allowlistInputConfig": {
                          "type": "CompletionDataInputConfig",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "lastAllowlistImportOperation": {
                          "type": "string",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "MerchantCenterLink": {
                      "fields": {
                        "merchantCenterAccountId": {
                          "type": "int64",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "branchId": {
                          "type": "string",
                          "id": 2
                        },
                        "destinations": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3
                        },
                        "regionCode": {
                          "type": "string",
                          "id": 4
                        },
                        "languageCode": {
                          "type": "string",
                          "id": 5
                        },
                        "feeds": {
                          "rule": "repeated",
                          "type": "MerchantCenterFeedFilter",
                          "id": 6
                        }
                      }
                    },
                    "MerchantCenterFeedFilter": {
                      "fields": {
                        "primaryFeedId": {
                          "type": "int64",
                          "id": 1
                        },
                        "primaryFeedName": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "MerchantCenterLinkingConfig": {
                      "fields": {
                        "links": {
                          "rule": "repeated",
                          "type": "MerchantCenterLink",
                          "id": 1
                        }
                      }
                    },
                    "Catalog": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/Catalog",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "productLevelConfig": {
                          "type": "ProductLevelConfig",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "merchantCenterLinkingConfig": {
                          "type": "MerchantCenterLinkingConfig",
                          "id": 6
                        }
                      }
                    },
                    "AttributeConfigLevel": {
                      "values": {
                        "ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED": 0,
                        "PRODUCT_LEVEL_ATTRIBUTE_CONFIG": 1,
                        "CATALOG_LEVEL_ATTRIBUTE_CONFIG": 2
                      }
                    },
                    "SolutionType": {
                      "values": {
                        "SOLUTION_TYPE_UNSPECIFIED": 0,
                        "SOLUTION_TYPE_RECOMMENDATION": 1,
                        "SOLUTION_TYPE_SEARCH": 2
                      }
                    },
                    "RecommendationsFilteringOption": {
                      "values": {
                        "RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED": 0,
                        "RECOMMENDATIONS_FILTERING_DISABLED": 1,
                        "RECOMMENDATIONS_FILTERING_ENABLED": 3
                      }
                    },
                    "SearchSolutionUseCase": {
                      "values": {
                        "SEARCH_SOLUTION_USE_CASE_UNSPECIFIED": 0,
                        "SEARCH_SOLUTION_USE_CASE_SEARCH": 1,
                        "SEARCH_SOLUTION_USE_CASE_BROWSE": 2
                      }
                    },
                    "Condition": {
                      "fields": {
                        "queryTerms": {
                          "rule": "repeated",
                          "type": "QueryTerm",
                          "id": 1
                        },
                        "activeTimeRange": {
                          "rule": "repeated",
                          "type": "TimeRange",
                          "id": 3
                        },
                        "pageCategories": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 4
                        }
                      },
                      "nested": {
                        "QueryTerm": {
                          "fields": {
                            "value": {
                              "type": "string",
                              "id": 1
                            },
                            "fullMatch": {
                              "type": "bool",
                              "id": 2
                            }
                          }
                        },
                        "TimeRange": {
                          "fields": {
                            "startTime": {
                              "type": "google.protobuf.Timestamp",
                              "id": 1
                            },
                            "endTime": {
                              "type": "google.protobuf.Timestamp",
                              "id": 2
                            }
                          }
                        }
                      }
                    },
                    "Rule": {
                      "oneofs": {
                        "action": {
                          "oneof": [
                            "boostAction",
                            "redirectAction",
                            "onewaySynonymsAction",
                            "doNotAssociateAction",
                            "replacementAction",
                            "ignoreAction",
                            "filterAction",
                            "twowaySynonymsAction",
                            "forceReturnFacetAction",
                            "removeFacetAction",
                            "pinAction"
                          ]
                        }
                      },
                      "fields": {
                        "boostAction": {
                          "type": "BoostAction",
                          "id": 2
                        },
                        "redirectAction": {
                          "type": "RedirectAction",
                          "id": 3
                        },
                        "onewaySynonymsAction": {
                          "type": "OnewaySynonymsAction",
                          "id": 6
                        },
                        "doNotAssociateAction": {
                          "type": "DoNotAssociateAction",
                          "id": 7
                        },
                        "replacementAction": {
                          "type": "ReplacementAction",
                          "id": 8
                        },
                        "ignoreAction": {
                          "type": "IgnoreAction",
                          "id": 9
                        },
                        "filterAction": {
                          "type": "FilterAction",
                          "id": 10
                        },
                        "twowaySynonymsAction": {
                          "type": "TwowaySynonymsAction",
                          "id": 11
                        },
                        "forceReturnFacetAction": {
                          "type": "ForceReturnFacetAction",
                          "id": 12
                        },
                        "removeFacetAction": {
                          "type": "RemoveFacetAction",
                          "id": 13
                        },
                        "pinAction": {
                          "type": "PinAction",
                          "id": 14
                        },
                        "condition": {
                          "type": "Condition",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "BoostAction": {
                          "fields": {
                            "boost": {
                              "type": "float",
                              "id": 1
                            },
                            "productsFilter": {
                              "type": "string",
                              "id": 2
                            }
                          }
                        },
                        "FilterAction": {
                          "fields": {
                            "filter": {
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "RedirectAction": {
                          "fields": {
                            "redirectUri": {
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "TwowaySynonymsAction": {
                          "fields": {
                            "synonyms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "OnewaySynonymsAction": {
                          "fields": {
                            "queryTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 3
                            },
                            "synonyms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 4
                            },
                            "onewayTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 2
                            }
                          }
                        },
                        "DoNotAssociateAction": {
                          "fields": {
                            "queryTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 2
                            },
                            "doNotAssociateTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 3
                            },
                            "terms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "ReplacementAction": {
                          "fields": {
                            "queryTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 2
                            },
                            "replacementTerm": {
                              "type": "string",
                              "id": 3
                            },
                            "term": {
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "IgnoreAction": {
                          "fields": {
                            "ignoreTerms": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "ForceReturnFacetAction": {
                          "fields": {
                            "facetPositionAdjustments": {
                              "rule": "repeated",
                              "type": "FacetPositionAdjustment",
                              "id": 1
                            }
                          },
                          "nested": {
                            "FacetPositionAdjustment": {
                              "fields": {
                                "attributeName": {
                                  "type": "string",
                                  "id": 1
                                },
                                "position": {
                                  "type": "int32",
                                  "id": 2
                                }
                              }
                            }
                          }
                        },
                        "RemoveFacetAction": {
                          "fields": {
                            "attributeNames": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "PinAction": {
                          "fields": {
                            "pinMap": {
                              "keyType": "int64",
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        }
                      }
                    },
                    "Audience": {
                      "fields": {
                        "genders": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        },
                        "ageGroups": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "ColorInfo": {
                      "fields": {
                        "colorFamilies": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        },
                        "colors": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "CustomAttribute": {
                      "oneofs": {
                        "_searchable": {
                          "oneof": [
                            "searchable"
                          ]
                        },
                        "_indexable": {
                          "oneof": [
                            "indexable"
                          ]
                        }
                      },
                      "fields": {
                        "text": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        },
                        "numbers": {
                          "rule": "repeated",
                          "type": "double",
                          "id": 2
                        },
                        "searchable": {
                          "type": "bool",
                          "id": 3,
                          "options": {
                            "deprecated": true,
                            "proto3_optional": true
                          }
                        },
                        "indexable": {
                          "type": "bool",
                          "id": 4,
                          "options": {
                            "deprecated": true,
                            "proto3_optional": true
                          }
                        }
                      }
                    },
                    "FulfillmentInfo": {
                      "fields": {
                        "type": {
                          "type": "string",
                          "id": 1
                        },
                        "placeIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "Image": {
                      "fields": {
                        "uri": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "height": {
                          "type": "int32",
                          "id": 2
                        },
                        "width": {
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "Interval": {
                      "oneofs": {
                        "min": {
                          "oneof": [
                            "minimum",
                            "exclusiveMinimum"
                          ]
                        },
                        "max": {
                          "oneof": [
                            "maximum",
                            "exclusiveMaximum"
                          ]
                        }
                      },
                      "fields": {
                        "minimum": {
                          "type": "double",
                          "id": 1
                        },
                        "exclusiveMinimum": {
                          "type": "double",
                          "id": 2
                        },
                        "maximum": {
                          "type": "double",
                          "id": 3
                        },
                        "exclusiveMaximum": {
                          "type": "double",
                          "id": 4
                        }
                      }
                    },
                    "PriceInfo": {
                      "fields": {
                        "currencyCode": {
                          "type": "string",
                          "id": 1
                        },
                        "price": {
                          "type": "float",
                          "id": 2
                        },
                        "originalPrice": {
                          "type": "float",
                          "id": 3
                        },
                        "cost": {
                          "type": "float",
                          "id": 4
                        },
                        "priceEffectiveTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5
                        },
                        "priceExpireTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 6
                        },
                        "priceRange": {
                          "type": "PriceRange",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "PriceRange": {
                          "fields": {
                            "price": {
                              "type": "Interval",
                              "id": 1
                            },
                            "originalPrice": {
                              "type": "Interval",
                              "id": 2
                            }
                          }
                        }
                      }
                    },
                    "Rating": {
                      "fields": {
                        "ratingCount": {
                          "type": "int32",
                          "id": 1
                        },
                        "averageRating": {
                          "type": "float",
                          "id": 2
                        },
                        "ratingHistogram": {
                          "rule": "repeated",
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "UserInfo": {
                      "fields": {
                        "userId": {
                          "type": "string",
                          "id": 1
                        },
                        "ipAddress": {
                          "type": "string",
                          "id": 2
                        },
                        "userAgent": {
                          "type": "string",
                          "id": 3
                        },
                        "directUserRequest": {
                          "type": "bool",
                          "id": 4
                        }
                      }
                    },
                    "LocalInventory": {
                      "fields": {
                        "placeId": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "priceInfo": {
                          "type": "PriceInfo",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "attributes": {
                          "keyType": "string",
                          "type": "CustomAttribute",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "fulfillmentTypes": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "PinControlMetadata": {
                      "fields": {
                        "allMatchedPins": {
                          "keyType": "int64",
                          "type": "ProductPins",
                          "id": 1
                        },
                        "droppedPins": {
                          "keyType": "int64",
                          "type": "ProductPins",
                          "id": 2
                        }
                      },
                      "nested": {
                        "ProductPins": {
                          "fields": {
                            "productId": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        }
                      }
                    },
                    "StringList": {
                      "fields": {
                        "values": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "DoubleList": {
                      "fields": {
                        "values": {
                          "rule": "repeated",
                          "type": "double",
                          "id": 1
                        }
                      }
                    },
                    "GcsSource": {
                      "fields": {
                        "inputUris": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "dataSchema": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "BigQuerySource": {
                      "oneofs": {
                        "partition": {
                          "oneof": [
                            "partitionDate"
                          ]
                        }
                      },
                      "fields": {
                        "partitionDate": {
                          "type": "google.type.Date",
                          "id": 6
                        },
                        "projectId": {
                          "type": "string",
                          "id": 5
                        },
                        "datasetId": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "tableId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "gcsStagingDir": {
                          "type": "string",
                          "id": 3
                        },
                        "dataSchema": {
                          "type": "string",
                          "id": 4
                        }
                      }
                    },
                    "ProductInlineSource": {
                      "fields": {
                        "products": {
                          "rule": "repeated",
                          "type": "Product",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "UserEventInlineSource": {
                      "fields": {
                        "userEvents": {
                          "rule": "repeated",
                          "type": "UserEvent",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "ImportErrorsConfig": {
                      "oneofs": {
                        "destination": {
                          "oneof": [
                            "gcsPrefix"
                          ]
                        }
                      },
                      "fields": {
                        "gcsPrefix": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "ImportProductsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "requestId": {
                          "type": "string",
                          "id": 6,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "inputConfig": {
                          "type": "ProductInputConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "errorsConfig": {
                          "type": "ImportErrorsConfig",
                          "id": 3
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 4
                        },
                        "reconciliationMode": {
                          "type": "ReconciliationMode",
                          "id": 5
                        },
                        "notificationPubsubTopic": {
                          "type": "string",
                          "id": 7
                        }
                      },
                      "nested": {
                        "ReconciliationMode": {
                          "values": {
                            "RECONCILIATION_MODE_UNSPECIFIED": 0,
                            "INCREMENTAL": 1,
                            "FULL": 2
                          }
                        }
                      }
                    },
                    "ImportUserEventsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "inputConfig": {
                          "type": "UserEventInputConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "errorsConfig": {
                          "type": "ImportErrorsConfig",
                          "id": 3
                        }
                      }
                    },
                    "ImportCompletionDataRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "inputConfig": {
                          "type": "CompletionDataInputConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "notificationPubsubTopic": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ProductInputConfig": {
                      "oneofs": {
                        "source": {
                          "oneof": [
                            "productInlineSource",
                            "gcsSource",
                            "bigQuerySource"
                          ]
                        }
                      },
                      "fields": {
                        "productInlineSource": {
                          "type": "ProductInlineSource",
                          "id": 1
                        },
                        "gcsSource": {
                          "type": "GcsSource",
                          "id": 2
                        },
                        "bigQuerySource": {
                          "type": "BigQuerySource",
                          "id": 3
                        }
                      }
                    },
                    "UserEventInputConfig": {
                      "oneofs": {
                        "source": {
                          "oneof": [
                            "userEventInlineSource",
                            "gcsSource",
                            "bigQuerySource"
                          ]
                        }
                      },
                      "fields": {
                        "userEventInlineSource": {
                          "type": "UserEventInlineSource",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "gcsSource": {
                          "type": "GcsSource",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "bigQuerySource": {
                          "type": "BigQuerySource",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CompletionDataInputConfig": {
                      "oneofs": {
                        "source": {
                          "oneof": [
                            "bigQuerySource"
                          ]
                        }
                      },
                      "fields": {
                        "bigQuerySource": {
                          "type": "BigQuerySource",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "ImportMetadata": {
                      "fields": {
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 1
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2
                        },
                        "successCount": {
                          "type": "int64",
                          "id": 3
                        },
                        "failureCount": {
                          "type": "int64",
                          "id": 4
                        },
                        "requestId": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "notificationPubsubTopic": {
                          "type": "string",
                          "id": 6
                        }
                      }
                    },
                    "ImportProductsResponse": {
                      "fields": {
                        "errorSamples": {
                          "rule": "repeated",
                          "type": "google.rpc.Status",
                          "id": 1
                        },
                        "errorsConfig": {
                          "type": "ImportErrorsConfig",
                          "id": 2
                        }
                      }
                    },
                    "ImportUserEventsResponse": {
                      "fields": {
                        "errorSamples": {
                          "rule": "repeated",
                          "type": "google.rpc.Status",
                          "id": 1
                        },
                        "errorsConfig": {
                          "type": "ImportErrorsConfig",
                          "id": 2
                        },
                        "importSummary": {
                          "type": "UserEventImportSummary",
                          "id": 3
                        }
                      }
                    },
                    "UserEventImportSummary": {
                      "fields": {
                        "joinedEventsCount": {
                          "type": "int64",
                          "id": 1
                        },
                        "unjoinedEventsCount": {
                          "type": "int64",
                          "id": 2
                        }
                      }
                    },
                    "ImportCompletionDataResponse": {
                      "fields": {
                        "errorSamples": {
                          "rule": "repeated",
                          "type": "google.rpc.Status",
                          "id": 1
                        }
                      }
                    },
                    "Product": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/Product",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/branches/{branch}/products/{product}"
                      },
                      "oneofs": {
                        "expiration": {
                          "oneof": [
                            "expireTime",
                            "ttl"
                          ]
                        }
                      },
                      "fields": {
                        "expireTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 16
                        },
                        "ttl": {
                          "type": "google.protobuf.Duration",
                          "id": 17,
                          "options": {
                            "(google.api.field_behavior)": "INPUT_ONLY"
                          }
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "id": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "type": {
                          "type": "Type",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "primaryProductId": {
                          "type": "string",
                          "id": 4
                        },
                        "collectionMemberIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5
                        },
                        "gtin": {
                          "type": "string",
                          "id": 6
                        },
                        "categories": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 7
                        },
                        "title": {
                          "type": "string",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "brands": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 9
                        },
                        "description": {
                          "type": "string",
                          "id": 10
                        },
                        "languageCode": {
                          "type": "string",
                          "id": 11
                        },
                        "attributes": {
                          "keyType": "string",
                          "type": "CustomAttribute",
                          "id": 12
                        },
                        "tags": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 13
                        },
                        "priceInfo": {
                          "type": "PriceInfo",
                          "id": 14
                        },
                        "rating": {
                          "type": "Rating",
                          "id": 15
                        },
                        "availableTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 18
                        },
                        "availability": {
                          "type": "Availability",
                          "id": 19
                        },
                        "availableQuantity": {
                          "type": "google.protobuf.Int32Value",
                          "id": 20
                        },
                        "fulfillmentInfo": {
                          "rule": "repeated",
                          "type": "FulfillmentInfo",
                          "id": 21
                        },
                        "uri": {
                          "type": "string",
                          "id": 22
                        },
                        "images": {
                          "rule": "repeated",
                          "type": "Image",
                          "id": 23
                        },
                        "audience": {
                          "type": "Audience",
                          "id": 24
                        },
                        "colorInfo": {
                          "type": "ColorInfo",
                          "id": 25
                        },
                        "sizes": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 26
                        },
                        "materials": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 27
                        },
                        "patterns": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 28
                        },
                        "conditions": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 29
                        },
                        "promotions": {
                          "rule": "repeated",
                          "type": "Promotion",
                          "id": 34
                        },
                        "publishTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 33
                        },
                        "retrievableFields": {
                          "type": "google.protobuf.FieldMask",
                          "id": 30,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "variants": {
                          "rule": "repeated",
                          "type": "Product",
                          "id": 31,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "localInventories": {
                          "rule": "repeated",
                          "type": "LocalInventory",
                          "id": 35,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "Type": {
                          "values": {
                            "TYPE_UNSPECIFIED": 0,
                            "PRIMARY": 1,
                            "VARIANT": 2,
                            "COLLECTION": 3
                          }
                        },
                        "Availability": {
                          "values": {
                            "AVAILABILITY_UNSPECIFIED": 0,
                            "IN_STOCK": 1,
                            "OUT_OF_STOCK": 2,
                            "PREORDER": 3,
                            "BACKORDER": 4
                          }
                        }
                      }
                    },
                    "Promotion": {
                      "fields": {
                        "promotionId": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "UserEvent": {
                      "fields": {
                        "eventType": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "visitorId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "sessionId": {
                          "type": "string",
                          "id": 21
                        },
                        "eventTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 3
                        },
                        "experimentIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 4
                        },
                        "attributionToken": {
                          "type": "string",
                          "id": 5
                        },
                        "productDetails": {
                          "rule": "repeated",
                          "type": "ProductDetail",
                          "id": 6
                        },
                        "completionDetail": {
                          "type": "CompletionDetail",
                          "id": 22
                        },
                        "attributes": {
                          "keyType": "string",
                          "type": "CustomAttribute",
                          "id": 7
                        },
                        "cartId": {
                          "type": "string",
                          "id": 8
                        },
                        "purchaseTransaction": {
                          "type": "PurchaseTransaction",
                          "id": 9
                        },
                        "searchQuery": {
                          "type": "string",
                          "id": 10
                        },
                        "filter": {
                          "type": "string",
                          "id": 16
                        },
                        "orderBy": {
                          "type": "string",
                          "id": 17
                        },
                        "offset": {
                          "type": "int32",
                          "id": 18
                        },
                        "pageCategories": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 11
                        },
                        "userInfo": {
                          "type": "UserInfo",
                          "id": 12
                        },
                        "uri": {
                          "type": "string",
                          "id": 13
                        },
                        "referrerUri": {
                          "type": "string",
                          "id": 14
                        },
                        "pageViewId": {
                          "type": "string",
                          "id": 15
                        },
                        "entity": {
                          "type": "string",
                          "id": 23
                        }
                      }
                    },
                    "ProductDetail": {
                      "fields": {
                        "product": {
                          "type": "Product",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "quantity": {
                          "type": "google.protobuf.Int32Value",
                          "id": 2
                        }
                      }
                    },
                    "CompletionDetail": {
                      "fields": {
                        "completionAttributionToken": {
                          "type": "string",
                          "id": 1
                        },
                        "selectedSuggestion": {
                          "type": "string",
                          "id": 2
                        },
                        "selectedPosition": {
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "PurchaseTransaction": {
                      "fields": {
                        "id": {
                          "type": "string",
                          "id": 1
                        },
                        "revenue": {
                          "type": "float",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "tax": {
                          "type": "float",
                          "id": 3
                        },
                        "cost": {
                          "type": "float",
                          "id": 4
                        },
                        "currencyCode": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CatalogService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "ListCatalogs": {
                          "requestType": "ListCatalogsRequest",
                          "responseType": "ListCatalogsResponse",
                          "options": {
                            "(google.api.http).get": "/v2beta/{parent=projects/*/locations/*}/catalogs",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{parent=projects/*/locations/*}/catalogs"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "UpdateCatalog": {
                          "requestType": "UpdateCatalogRequest",
                          "responseType": "Catalog",
                          "options": {
                            "(google.api.http).patch": "/v2beta/{catalog.name=projects/*/locations/*/catalogs/*}",
                            "(google.api.http).body": "catalog",
                            "(google.api.method_signature)": "catalog,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2beta/{catalog.name=projects/*/locations/*/catalogs/*}",
                                "body": "catalog"
                              }
                            },
                            {
                              "(google.api.method_signature)": "catalog,update_mask"
                            }
                          ]
                        },
                        "SetDefaultBranch": {
                          "requestType": "SetDefaultBranchRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).post": "/v2beta/{catalog=projects/*/locations/*/catalogs/*}:setDefaultBranch",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "catalog"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{catalog=projects/*/locations/*/catalogs/*}:setDefaultBranch",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "catalog"
                            }
                          ]
                        },
                        "GetDefaultBranch": {
                          "requestType": "GetDefaultBranchRequest",
                          "responseType": "GetDefaultBranchResponse",
                          "options": {
                            "(google.api.http).get": "/v2beta/{catalog=projects/*/locations/*/catalogs/*}:getDefaultBranch",
                            "(google.api.method_signature)": "catalog"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{catalog=projects/*/locations/*/catalogs/*}:getDefaultBranch"
                              }
                            },
                            {
                              "(google.api.method_signature)": "catalog"
                            }
                          ]
                        },
                        "GetCompletionConfig": {
                          "requestType": "GetCompletionConfigRequest",
                          "responseType": "CompletionConfig",
                          "options": {
                            "(google.api.http).get": "/v2beta/{name=projects/*/locations/*/catalogs/*/completionConfig}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{name=projects/*/locations/*/catalogs/*/completionConfig}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateCompletionConfig": {
                          "requestType": "UpdateCompletionConfigRequest",
                          "responseType": "CompletionConfig",
                          "options": {
                            "(google.api.http).patch": "/v2beta/{completion_config.name=projects/*/locations/*/catalogs/*/completionConfig}",
                            "(google.api.http).body": "completion_config",
                            "(google.api.method_signature)": "completion_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2beta/{completion_config.name=projects/*/locations/*/catalogs/*/completionConfig}",
                                "body": "completion_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "completion_config,update_mask"
                            }
                          ]
                        },
                        "GetAttributesConfig": {
                          "requestType": "GetAttributesConfigRequest",
                          "responseType": "AttributesConfig",
                          "options": {
                            "(google.api.http).get": "/v2beta/{name=projects/*/locations/*/catalogs/*/attributesConfig}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{name=projects/*/locations/*/catalogs/*/attributesConfig}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateAttributesConfig": {
                          "requestType": "UpdateAttributesConfigRequest",
                          "responseType": "AttributesConfig",
                          "options": {
                            "(google.api.http).patch": "/v2beta/{attributes_config.name=projects/*/locations/*/catalogs/*/attributesConfig}",
                            "(google.api.http).body": "attributes_config",
                            "(google.api.method_signature)": "attributes_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2beta/{attributes_config.name=projects/*/locations/*/catalogs/*/attributesConfig}",
                                "body": "attributes_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "attributes_config,update_mask"
                            }
                          ]
                        },
                        "AddCatalogAttribute": {
                          "requestType": "AddCatalogAttributeRequest",
                          "responseType": "AttributesConfig",
                          "options": {
                            "(google.api.http).post": "/v2beta/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:addCatalogAttribute",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:addCatalogAttribute",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "RemoveCatalogAttribute": {
                          "requestType": "RemoveCatalogAttributeRequest",
                          "responseType": "AttributesConfig",
                          "options": {
                            "(google.api.http).post": "/v2beta/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:removeCatalogAttribute",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:removeCatalogAttribute",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "BatchRemoveCatalogAttributes": {
                          "requestType": "BatchRemoveCatalogAttributesRequest",
                          "responseType": "BatchRemoveCatalogAttributesResponse",
                          "options": {
                            "(google.api.http).post": "/v2beta/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:batchRemoveCatalogAttributes",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:batchRemoveCatalogAttributes",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "ReplaceCatalogAttribute": {
                          "requestType": "ReplaceCatalogAttributeRequest",
                          "responseType": "AttributesConfig",
                          "options": {
                            "(google.api.http).post": "/v2beta/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:replaceCatalogAttribute",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:replaceCatalogAttribute",
                                "body": "*"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "ListCatalogsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "locations.googleapis.com/Location"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ListCatalogsResponse": {
                      "fields": {
                        "catalogs": {
                          "rule": "repeated",
                          "type": "Catalog",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "UpdateCatalogRequest": {
                      "fields": {
                        "catalog": {
                          "type": "Catalog",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "SetDefaultBranchRequest": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "branchId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "note": {
                          "type": "string",
                          "id": 3
                        },
                        "force": {
                          "type": "bool",
                          "id": 4
                        }
                      }
                    },
                    "GetDefaultBranchRequest": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        }
                      }
                    },
                    "GetDefaultBranchResponse": {
                      "fields": {
                        "branch": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "setTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2
                        },
                        "note": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "GetCompletionConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/CompletionConfig"
                          }
                        }
                      }
                    },
                    "UpdateCompletionConfigRequest": {
                      "fields": {
                        "completionConfig": {
                          "type": "CompletionConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "GetAttributesConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/AttributesConfig"
                          }
                        }
                      }
                    },
                    "UpdateAttributesConfigRequest": {
                      "fields": {
                        "attributesConfig": {
                          "type": "AttributesConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "AddCatalogAttributeRequest": {
                      "fields": {
                        "attributesConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/AttributesConfig"
                          }
                        },
                        "catalogAttribute": {
                          "type": "CatalogAttribute",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "RemoveCatalogAttributeRequest": {
                      "fields": {
                        "attributesConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/AttributesConfig"
                          }
                        },
                        "key": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchRemoveCatalogAttributesRequest": {
                      "fields": {
                        "attributesConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/AttributesConfig"
                          }
                        },
                        "attributeKeys": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchRemoveCatalogAttributesResponse": {
                      "fields": {
                        "deletedCatalogAttributes": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        },
                        "resetCatalogAttributes": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "ReplaceCatalogAttributeRequest": {
                      "fields": {
                        "attributesConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/AttributesConfig"
                          }
                        },
                        "catalogAttribute": {
                          "type": "CatalogAttribute",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 3
                        }
                      }
                    },
                    "CompletionService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "CompleteQuery": {
                          "requestType": "CompleteQueryRequest",
                          "responseType": "CompleteQueryResponse",
                          "options": {
                            "(google.api.http).get": "/v2beta/{catalog=projects/*/locations/*/catalogs/*}:completeQuery"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{catalog=projects/*/locations/*/catalogs/*}:completeQuery"
                              }
                            }
                          ]
                        },
                        "ImportCompletionData": {
                          "requestType": "ImportCompletionDataRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/completionData:import",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2beta.ImportCompletionDataResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2beta.ImportMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/completionData:import",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2beta.ImportCompletionDataResponse",
                                "metadata_type": "google.cloud.retail.v2beta.ImportMetadata"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "CompleteQueryRequest": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "query": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "visitorId": {
                          "type": "string",
                          "id": 7
                        },
                        "languageCodes": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3
                        },
                        "deviceType": {
                          "type": "string",
                          "id": 4
                        },
                        "dataset": {
                          "type": "string",
                          "id": 6
                        },
                        "maxSuggestions": {
                          "type": "int32",
                          "id": 5
                        },
                        "enableAttributeSuggestions": {
                          "type": "bool",
                          "id": 9
                        },
                        "entity": {
                          "type": "string",
                          "id": 10
                        }
                      }
                    },
                    "CompleteQueryResponse": {
                      "fields": {
                        "completionResults": {
                          "rule": "repeated",
                          "type": "CompletionResult",
                          "id": 1
                        },
                        "attributionToken": {
                          "type": "string",
                          "id": 2
                        },
                        "recentSearchResults": {
                          "rule": "repeated",
                          "type": "RecentSearchResult",
                          "id": 3,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "attributeResults": {
                          "keyType": "string",
                          "type": "AttributeResult",
                          "id": 4
                        }
                      },
                      "nested": {
                        "CompletionResult": {
                          "fields": {
                            "suggestion": {
                              "type": "string",
                              "id": 1
                            },
                            "attributes": {
                              "keyType": "string",
                              "type": "CustomAttribute",
                              "id": 2
                            }
                          }
                        },
                        "RecentSearchResult": {
                          "options": {
                            "deprecated": true
                          },
                          "fields": {
                            "recentSearch": {
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "AttributeResult": {
                          "fields": {
                            "suggestions": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            }
                          }
                        }
                      }
                    },
                    "Control": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/Control",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/controls/{control}"
                      },
                      "oneofs": {
                        "control": {
                          "oneof": [
                            "facetSpec",
                            "rule"
                          ]
                        }
                      },
                      "fields": {
                        "facetSpec": {
                          "type": "SearchRequest.FacetSpec",
                          "id": 3,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "rule": {
                          "type": "Rule",
                          "id": 4
                        },
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "associatedServingConfigIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "solutionTypes": {
                          "rule": "repeated",
                          "type": "SolutionType",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "searchSolutionUseCase": {
                          "rule": "repeated",
                          "type": "SearchSolutionUseCase",
                          "id": 7
                        }
                      }
                    },
                    "SearchService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "Search": {
                          "requestType": "SearchRequest",
                          "responseType": "SearchResponse",
                          "options": {
                            "(google.api.http).post": "/v2beta/{placement=projects/*/locations/*/catalogs/*/placements/*}:search",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v2beta/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:search",
                            "(google.api.http).additional_bindings.body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{placement=projects/*/locations/*/catalogs/*/placements/*}:search",
                                "body": "*",
                                "additional_bindings": {
                                  "post": "/v2beta/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:search",
                                  "body": "*"
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    "ProductAttributeValue": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1
                        },
                        "value": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "ProductAttributeInterval": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1
                        },
                        "interval": {
                          "type": "Interval",
                          "id": 2
                        }
                      }
                    },
                    "Tile": {
                      "oneofs": {
                        "productAttribute": {
                          "oneof": [
                            "productAttributeValue",
                            "productAttributeInterval"
                          ]
                        }
                      },
                      "fields": {
                        "productAttributeValue": {
                          "type": "ProductAttributeValue",
                          "id": 1
                        },
                        "productAttributeInterval": {
                          "type": "ProductAttributeInterval",
                          "id": 2
                        },
                        "representativeProductId": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "SearchRequest": {
                      "oneofs": {
                        "_spellCorrectionSpec": {
                          "oneof": [
                            "spellCorrectionSpec"
                          ]
                        }
                      },
                      "fields": {
                        "placement": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "branch": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "query": {
                          "type": "string",
                          "id": 3
                        },
                        "visitorId": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userInfo": {
                          "type": "UserInfo",
                          "id": 5
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 7
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 8
                        },
                        "offset": {
                          "type": "int32",
                          "id": 9
                        },
                        "filter": {
                          "type": "string",
                          "id": 10
                        },
                        "canonicalFilter": {
                          "type": "string",
                          "id": 28
                        },
                        "orderBy": {
                          "type": "string",
                          "id": 11
                        },
                        "facetSpecs": {
                          "rule": "repeated",
                          "type": "FacetSpec",
                          "id": 12
                        },
                        "dynamicFacetSpec": {
                          "type": "DynamicFacetSpec",
                          "id": 21,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "boostSpec": {
                          "type": "BoostSpec",
                          "id": 13
                        },
                        "queryExpansionSpec": {
                          "type": "QueryExpansionSpec",
                          "id": 14
                        },
                        "variantRollupKeys": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 17
                        },
                        "pageCategories": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 23
                        },
                        "searchMode": {
                          "type": "SearchMode",
                          "id": 31
                        },
                        "personalizationSpec": {
                          "type": "PersonalizationSpec",
                          "id": 32
                        },
                        "labels": {
                          "keyType": "string",
                          "type": "string",
                          "id": 34
                        },
                        "spellCorrectionSpec": {
                          "type": "SpellCorrectionSpec",
                          "id": 35,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "entity": {
                          "type": "string",
                          "id": 38
                        },
                        "conversationalSearchSpec": {
                          "type": "ConversationalSearchSpec",
                          "id": 40,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "tileNavigationSpec": {
                          "type": "TileNavigationSpec",
                          "id": 41,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "languageCode": {
                          "type": "string",
                          "id": 43,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "regionCode": {
                          "type": "string",
                          "id": 44,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "placeId": {
                          "type": "string",
                          "id": 46,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "userAttributes": {
                          "keyType": "string",
                          "type": "StringList",
                          "id": 47,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "FacetSpec": {
                          "fields": {
                            "facetKey": {
                              "type": "FacetKey",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "limit": {
                              "type": "int32",
                              "id": 2
                            },
                            "excludedFilterKeys": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 3
                            },
                            "enableDynamicPosition": {
                              "type": "bool",
                              "id": 4
                            }
                          },
                          "nested": {
                            "FacetKey": {
                              "fields": {
                                "key": {
                                  "type": "string",
                                  "id": 1,
                                  "options": {
                                    "(google.api.field_behavior)": "REQUIRED"
                                  }
                                },
                                "intervals": {
                                  "rule": "repeated",
                                  "type": "Interval",
                                  "id": 2
                                },
                                "restrictedValues": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 3
                                },
                                "prefixes": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 8
                                },
                                "contains": {
                                  "rule": "repeated",
                                  "type": "string",
                                  "id": 9
                                },
                                "caseInsensitive": {
                                  "type": "bool",
                                  "id": 10
                                },
                                "orderBy": {
                                  "type": "string",
                                  "id": 4
                                },
                                "query": {
                                  "type": "string",
                                  "id": 5
                                },
                                "returnMinMax": {
                                  "type": "bool",
                                  "id": 11
                                }
                              }
                            }
                          }
                        },
                        "DynamicFacetSpec": {
                          "fields": {
                            "mode": {
                              "type": "Mode",
                              "id": 1
                            }
                          },
                          "nested": {
                            "Mode": {
                              "values": {
                                "MODE_UNSPECIFIED": 0,
                                "DISABLED": 1,
                                "ENABLED": 2
                              }
                            }
                          }
                        },
                        "BoostSpec": {
                          "oneofs": {
                            "_skipBoostSpecValidation": {
                              "oneof": [
                                "skipBoostSpecValidation"
                              ]
                            }
                          },
                          "fields": {
                            "conditionBoostSpecs": {
                              "rule": "repeated",
                              "type": "ConditionBoostSpec",
                              "id": 1
                            },
                            "skipBoostSpecValidation": {
                              "type": "bool",
                              "id": 2,
                              "options": {
                                "proto3_optional": true
                              }
                            }
                          },
                          "nested": {
                            "ConditionBoostSpec": {
                              "fields": {
                                "condition": {
                                  "type": "string",
                                  "id": 1
                                },
                                "boost": {
                                  "type": "float",
                                  "id": 2
                                }
                              }
                            }
                          }
                        },
                        "QueryExpansionSpec": {
                          "fields": {
                            "condition": {
                              "type": "Condition",
                              "id": 1
                            },
                            "pinUnexpandedResults": {
                              "type": "bool",
                              "id": 2
                            }
                          },
                          "nested": {
                            "Condition": {
                              "values": {
                                "CONDITION_UNSPECIFIED": 0,
                                "DISABLED": 1,
                                "AUTO": 3
                              }
                            }
                          }
                        },
                        "PersonalizationSpec": {
                          "fields": {
                            "mode": {
                              "type": "Mode",
                              "id": 1
                            }
                          },
                          "nested": {
                            "Mode": {
                              "values": {
                                "MODE_UNSPECIFIED": 0,
                                "AUTO": 1,
                                "DISABLED": 2
                              }
                            }
                          }
                        },
                        "SpellCorrectionSpec": {
                          "fields": {
                            "mode": {
                              "type": "Mode",
                              "id": 1
                            }
                          },
                          "nested": {
                            "Mode": {
                              "values": {
                                "MODE_UNSPECIFIED": 0,
                                "SUGGESTION_ONLY": 1,
                                "AUTO": 2
                              }
                            }
                          }
                        },
                        "ConversationalSearchSpec": {
                          "fields": {
                            "followupConversationRequested": {
                              "type": "bool",
                              "id": 1
                            },
                            "conversationId": {
                              "type": "string",
                              "id": 2
                            },
                            "userAnswer": {
                              "type": "UserAnswer",
                              "id": 3
                            }
                          },
                          "nested": {
                            "UserAnswer": {
                              "oneofs": {
                                "type": {
                                  "oneof": [
                                    "textAnswer",
                                    "selectedAnswer"
                                  ]
                                }
                              },
                              "fields": {
                                "textAnswer": {
                                  "type": "string",
                                  "id": 1
                                },
                                "selectedAnswer": {
                                  "type": "SelectedAnswer",
                                  "id": 2
                                }
                              },
                              "nested": {
                                "SelectedAnswer": {
                                  "fields": {
                                    "productAttributeValues": {
                                      "rule": "repeated",
                                      "type": "ProductAttributeValue",
                                      "id": 1,
                                      "options": {
                                        "deprecated": true
                                      }
                                    },
                                    "productAttributeValue": {
                                      "type": "ProductAttributeValue",
                                      "id": 2
                                    }
                                  }
                                }
                              }
                            }
                          }
                        },
                        "TileNavigationSpec": {
                          "fields": {
                            "tileNavigationRequested": {
                              "type": "bool",
                              "id": 1
                            },
                            "appliedTiles": {
                              "rule": "repeated",
                              "type": "Tile",
                              "id": 2
                            }
                          }
                        },
                        "SearchMode": {
                          "values": {
                            "SEARCH_MODE_UNSPECIFIED": 0,
                            "PRODUCT_SEARCH_ONLY": 1,
                            "FACETED_SEARCH_ONLY": 2
                          }
                        }
                      }
                    },
                    "SearchResponse": {
                      "fields": {
                        "results": {
                          "rule": "repeated",
                          "type": "SearchResult",
                          "id": 1
                        },
                        "facets": {
                          "rule": "repeated",
                          "type": "Facet",
                          "id": 2
                        },
                        "totalSize": {
                          "type": "int32",
                          "id": 3
                        },
                        "correctedQuery": {
                          "type": "string",
                          "id": 4
                        },
                        "attributionToken": {
                          "type": "string",
                          "id": 5
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 6
                        },
                        "queryExpansionInfo": {
                          "type": "QueryExpansionInfo",
                          "id": 7
                        },
                        "redirectUri": {
                          "type": "string",
                          "id": 10
                        },
                        "appliedControls": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 12
                        },
                        "pinControlMetadata": {
                          "type": "PinControlMetadata",
                          "id": 22
                        },
                        "invalidConditionBoostSpecs": {
                          "rule": "repeated",
                          "type": "SearchRequest.BoostSpec.ConditionBoostSpec",
                          "id": 14
                        },
                        "experimentInfo": {
                          "rule": "repeated",
                          "type": "ExperimentInfo",
                          "id": 17
                        },
                        "conversationalSearchResult": {
                          "type": "ConversationalSearchResult",
                          "id": 18
                        },
                        "tileNavigationResult": {
                          "type": "TileNavigationResult",
                          "id": 19
                        }
                      },
                      "nested": {
                        "SearchResult": {
                          "fields": {
                            "id": {
                              "type": "string",
                              "id": 1
                            },
                            "product": {
                              "type": "Product",
                              "id": 2
                            },
                            "matchingVariantCount": {
                              "type": "int32",
                              "id": 3
                            },
                            "matchingVariantFields": {
                              "keyType": "string",
                              "type": "google.protobuf.FieldMask",
                              "id": 4
                            },
                            "variantRollupValues": {
                              "keyType": "string",
                              "type": "google.protobuf.Value",
                              "id": 5
                            },
                            "personalLabels": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 7
                            },
                            "modelScores": {
                              "keyType": "string",
                              "type": "DoubleList",
                              "id": 8
                            }
                          }
                        },
                        "Facet": {
                          "fields": {
                            "key": {
                              "type": "string",
                              "id": 1
                            },
                            "values": {
                              "rule": "repeated",
                              "type": "FacetValue",
                              "id": 2
                            },
                            "dynamicFacet": {
                              "type": "bool",
                              "id": 3
                            }
                          },
                          "nested": {
                            "FacetValue": {
                              "oneofs": {
                                "facetValue": {
                                  "oneof": [
                                    "value",
                                    "interval"
                                  ]
                                }
                              },
                              "fields": {
                                "value": {
                                  "type": "string",
                                  "id": 1
                                },
                                "interval": {
                                  "type": "Interval",
                                  "id": 2
                                },
                                "count": {
                                  "type": "int64",
                                  "id": 3
                                },
                                "minValue": {
                                  "type": "double",
                                  "id": 5
                                },
                                "maxValue": {
                                  "type": "double",
                                  "id": 6
                                }
                              }
                            }
                          }
                        },
                        "QueryExpansionInfo": {
                          "fields": {
                            "expandedQuery": {
                              "type": "bool",
                              "id": 1
                            },
                            "pinnedResultCount": {
                              "type": "int64",
                              "id": 2
                            }
                          }
                        },
                        "ConversationalSearchResult": {
                          "fields": {
                            "conversationId": {
                              "type": "string",
                              "id": 1
                            },
                            "refinedQuery": {
                              "type": "string",
                              "id": 2
                            },
                            "additionalFilters": {
                              "rule": "repeated",
                              "type": "AdditionalFilter",
                              "id": 3,
                              "options": {
                                "deprecated": true
                              }
                            },
                            "followupQuestion": {
                              "type": "string",
                              "id": 4
                            },
                            "suggestedAnswers": {
                              "rule": "repeated",
                              "type": "SuggestedAnswer",
                              "id": 5
                            },
                            "additionalFilter": {
                              "type": "AdditionalFilter",
                              "id": 6
                            }
                          },
                          "nested": {
                            "SuggestedAnswer": {
                              "fields": {
                                "productAttributeValue": {
                                  "type": "ProductAttributeValue",
                                  "id": 1
                                }
                              }
                            },
                            "AdditionalFilter": {
                              "fields": {
                                "productAttributeValue": {
                                  "type": "ProductAttributeValue",
                                  "id": 1
                                }
                              }
                            }
                          }
                        },
                        "TileNavigationResult": {
                          "fields": {
                            "tiles": {
                              "rule": "repeated",
                              "type": "Tile",
                              "id": 1
                            }
                          }
                        }
                      }
                    },
                    "ExperimentInfo": {
                      "oneofs": {
                        "experimentMetadata": {
                          "oneof": [
                            "servingConfigExperiment"
                          ]
                        }
                      },
                      "fields": {
                        "servingConfigExperiment": {
                          "type": "ServingConfigExperiment",
                          "id": 2
                        },
                        "experiment": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Experiment"
                          }
                        }
                      },
                      "nested": {
                        "ServingConfigExperiment": {
                          "fields": {
                            "originalServingConfig": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                              }
                            },
                            "experimentServingConfig": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                              }
                            }
                          }
                        }
                      }
                    },
                    "ControlService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "CreateControl": {
                          "requestType": "CreateControlRequest",
                          "responseType": "Control",
                          "options": {
                            "(google.api.http).post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/controls",
                            "(google.api.http).body": "control",
                            "(google.api.method_signature)": "parent,control,control_id"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/controls",
                                "body": "control"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,control,control_id"
                            }
                          ]
                        },
                        "DeleteControl": {
                          "requestType": "DeleteControlRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v2beta/{name=projects/*/locations/*/catalogs/*/controls/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v2beta/{name=projects/*/locations/*/catalogs/*/controls/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateControl": {
                          "requestType": "UpdateControlRequest",
                          "responseType": "Control",
                          "options": {
                            "(google.api.http).patch": "/v2beta/{control.name=projects/*/locations/*/catalogs/*/controls/*}",
                            "(google.api.http).body": "control",
                            "(google.api.method_signature)": "control,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2beta/{control.name=projects/*/locations/*/catalogs/*/controls/*}",
                                "body": "control"
                              }
                            },
                            {
                              "(google.api.method_signature)": "control,update_mask"
                            }
                          ]
                        },
                        "GetControl": {
                          "requestType": "GetControlRequest",
                          "responseType": "Control",
                          "options": {
                            "(google.api.http).get": "/v2beta/{name=projects/*/locations/*/catalogs/*/controls/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{name=projects/*/locations/*/catalogs/*/controls/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListControls": {
                          "requestType": "ListControlsRequest",
                          "responseType": "ListControlsResponse",
                          "options": {
                            "(google.api.http).get": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/controls",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/controls"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        }
                      }
                    },
                    "CreateControlRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "control": {
                          "type": "Control",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "controlId": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "UpdateControlRequest": {
                      "fields": {
                        "control": {
                          "type": "Control",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "DeleteControlRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Control"
                          }
                        }
                      }
                    },
                    "GetControlRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Control"
                          }
                        }
                      }
                    },
                    "ListControlsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListControlsResponse": {
                      "fields": {
                        "controls": {
                          "rule": "repeated",
                          "type": "Control",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "ConversationalSearchService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "ConversationalSearch": {
                          "requestType": "ConversationalSearchRequest",
                          "responseType": "ConversationalSearchResponse",
                          "responseStream": true,
                          "options": {
                            "(google.api.http).post": "/v2beta/{placement=projects/*/locations/*/catalogs/*/placements/*}:conversationalSearch",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v2beta/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:conversationalSearch",
                            "(google.api.http).additional_bindings.body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{placement=projects/*/locations/*/catalogs/*/placements/*}:conversationalSearch",
                                "body": "*",
                                "additional_bindings": {
                                  "post": "/v2beta/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:conversationalSearch",
                                  "body": "*"
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    "ConversationalSearchRequest": {
                      "fields": {
                        "placement": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "branch": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "query": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageCategories": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "conversationId": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "searchParams": {
                          "type": "SearchParams",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "visitorId": {
                          "type": "string",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userInfo": {
                          "type": "UserInfo",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "conversationalFilteringSpec": {
                          "type": "ConversationalFilteringSpec",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "userLabels": {
                          "keyType": "string",
                          "type": "string",
                          "id": 12,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "safetySettings": {
                          "rule": "repeated",
                          "type": "SafetySetting",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "SearchParams": {
                          "fields": {
                            "filter": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "canonicalFilter": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "sortBy": {
                              "type": "string",
                              "id": 3,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "boostSpec": {
                              "type": "SearchRequest.BoostSpec",
                              "id": 4,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          }
                        },
                        "UserAnswer": {
                          "oneofs": {
                            "type": {
                              "oneof": [
                                "textAnswer",
                                "selectedAnswer"
                              ]
                            }
                          },
                          "fields": {
                            "textAnswer": {
                              "type": "string",
                              "id": 1
                            },
                            "selectedAnswer": {
                              "type": "SelectedAnswer",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          },
                          "nested": {
                            "SelectedAnswer": {
                              "fields": {
                                "productAttributeValue": {
                                  "type": "ProductAttributeValue",
                                  "id": 1,
                                  "options": {
                                    "(google.api.field_behavior)": "OPTIONAL"
                                  }
                                }
                              }
                            }
                          }
                        },
                        "ConversationalFilteringSpec": {
                          "fields": {
                            "enableConversationalFiltering": {
                              "type": "bool",
                              "id": 1,
                              "options": {
                                "deprecated": true,
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "userAnswer": {
                              "type": "UserAnswer",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "conversationalFilteringMode": {
                              "type": "Mode",
                              "id": 4,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          },
                          "nested": {
                            "Mode": {
                              "values": {
                                "MODE_UNSPECIFIED": 0,
                                "DISABLED": 1,
                                "ENABLED": 2,
                                "CONVERSATIONAL_FILTER_ONLY": 3
                              }
                            }
                          }
                        }
                      }
                    },
                    "ConversationalSearchResponse": {
                      "fields": {
                        "userQueryTypes": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 10
                        },
                        "conversationalTextResponse": {
                          "type": "string",
                          "id": 2
                        },
                        "followupQuestion": {
                          "type": "FollowupQuestion",
                          "id": 3
                        },
                        "conversationId": {
                          "type": "string",
                          "id": 4
                        },
                        "refinedSearch": {
                          "rule": "repeated",
                          "type": "RefinedSearch",
                          "id": 6
                        },
                        "conversationalFilteringResult": {
                          "type": "ConversationalFilteringResult",
                          "id": 7
                        },
                        "state": {
                          "type": "State",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "FollowupQuestion": {
                          "fields": {
                            "followupQuestion": {
                              "type": "string",
                              "id": 1
                            },
                            "suggestedAnswers": {
                              "rule": "repeated",
                              "type": "SuggestedAnswer",
                              "id": 2
                            }
                          },
                          "nested": {
                            "SuggestedAnswer": {
                              "fields": {
                                "productAttributeValue": {
                                  "type": "ProductAttributeValue",
                                  "id": 1
                                }
                              }
                            }
                          }
                        },
                        "RefinedSearch": {
                          "fields": {
                            "query": {
                              "type": "string",
                              "id": 1
                            }
                          }
                        },
                        "ConversationalFilteringResult": {
                          "fields": {
                            "followupQuestion": {
                              "type": "FollowupQuestion",
                              "id": 1
                            },
                            "additionalFilter": {
                              "type": "AdditionalFilter",
                              "id": 2
                            }
                          },
                          "nested": {
                            "AdditionalFilter": {
                              "fields": {
                                "productAttributeValue": {
                                  "type": "ProductAttributeValue",
                                  "id": 1
                                }
                              }
                            }
                          }
                        },
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "STREAMING": 1,
                            "SUCCEEDED": 2
                          }
                        }
                      }
                    },
                    "HarmCategory": {
                      "values": {
                        "HARM_CATEGORY_UNSPECIFIED": 0,
                        "HARM_CATEGORY_HATE_SPEECH": 1,
                        "HARM_CATEGORY_DANGEROUS_CONTENT": 2,
                        "HARM_CATEGORY_HARASSMENT": 3,
                        "HARM_CATEGORY_SEXUALLY_EXPLICIT": 4,
                        "HARM_CATEGORY_CIVIC_INTEGRITY": 5
                      }
                    },
                    "SafetySetting": {
                      "fields": {
                        "category": {
                          "type": "HarmCategory",
                          "id": 1
                        },
                        "threshold": {
                          "type": "HarmBlockThreshold",
                          "id": 2
                        },
                        "method": {
                          "type": "HarmBlockMethod",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "HarmBlockThreshold": {
                          "values": {
                            "HARM_BLOCK_THRESHOLD_UNSPECIFIED": 0,
                            "BLOCK_LOW_AND_ABOVE": 1,
                            "BLOCK_MEDIUM_AND_ABOVE": 2,
                            "BLOCK_ONLY_HIGH": 3,
                            "BLOCK_NONE": 4,
                            "OFF": 5
                          }
                        },
                        "HarmBlockMethod": {
                          "values": {
                            "HARM_BLOCK_METHOD_UNSPECIFIED": 0,
                            "SEVERITY": 1,
                            "PROBABILITY": 2
                          }
                        }
                      }
                    },
                    "GenerativeQuestionsFeatureConfig": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "featureEnabled": {
                          "type": "bool",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "minimumProducts": {
                          "type": "int32",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GenerativeQuestionConfig": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "facet": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "generatedQuestion": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "finalQuestion": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "exampleValues": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "frequency": {
                          "type": "float",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "allowedInConversation": {
                          "type": "bool",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GenerativeQuestionService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "UpdateGenerativeQuestionsFeatureConfig": {
                          "requestType": "UpdateGenerativeQuestionsFeatureConfigRequest",
                          "responseType": "GenerativeQuestionsFeatureConfig",
                          "options": {
                            "(google.api.http).patch": "/v2beta/{generative_questions_feature_config.catalog=projects/*/locations/*/catalogs/*}/generativeQuestionFeature",
                            "(google.api.http).body": "generative_questions_feature_config",
                            "(google.api.method_signature)": "generative_questions_feature_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2beta/{generative_questions_feature_config.catalog=projects/*/locations/*/catalogs/*}/generativeQuestionFeature",
                                "body": "generative_questions_feature_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "generative_questions_feature_config,update_mask"
                            }
                          ]
                        },
                        "GetGenerativeQuestionsFeatureConfig": {
                          "requestType": "GetGenerativeQuestionsFeatureConfigRequest",
                          "responseType": "GenerativeQuestionsFeatureConfig",
                          "options": {
                            "(google.api.http).get": "/v2beta/{catalog=projects/*/locations/*/catalogs/*}/generativeQuestionFeature",
                            "(google.api.method_signature)": "catalog"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{catalog=projects/*/locations/*/catalogs/*}/generativeQuestionFeature"
                              }
                            },
                            {
                              "(google.api.method_signature)": "catalog"
                            }
                          ]
                        },
                        "ListGenerativeQuestionConfigs": {
                          "requestType": "ListGenerativeQuestionConfigsRequest",
                          "responseType": "ListGenerativeQuestionConfigsResponse",
                          "options": {
                            "(google.api.http).get": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/generativeQuestions",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/generativeQuestions"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "UpdateGenerativeQuestionConfig": {
                          "requestType": "UpdateGenerativeQuestionConfigRequest",
                          "responseType": "GenerativeQuestionConfig",
                          "options": {
                            "(google.api.http).patch": "/v2beta/{generative_question_config.catalog=projects/*/locations/*/catalogs/*}/generativeQuestion",
                            "(google.api.http).body": "generative_question_config",
                            "(google.api.method_signature)": "generative_question_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2beta/{generative_question_config.catalog=projects/*/locations/*/catalogs/*}/generativeQuestion",
                                "body": "generative_question_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "generative_question_config,update_mask"
                            }
                          ]
                        },
                        "BatchUpdateGenerativeQuestionConfigs": {
                          "requestType": "BatchUpdateGenerativeQuestionConfigsRequest",
                          "responseType": "BatchUpdateGenerativeQuestionConfigsResponse",
                          "options": {
                            "(google.api.http).post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/generativeQuestion:batchUpdate",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "parent,requests"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/generativeQuestion:batchUpdate",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,requests"
                            }
                          ]
                        }
                      }
                    },
                    "UpdateGenerativeQuestionsFeatureConfigRequest": {
                      "fields": {
                        "generativeQuestionsFeatureConfig": {
                          "type": "GenerativeQuestionsFeatureConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GetGenerativeQuestionsFeatureConfigRequest": {
                      "fields": {
                        "catalog": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        }
                      }
                    },
                    "ListGenerativeQuestionConfigsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        }
                      }
                    },
                    "ListGenerativeQuestionConfigsResponse": {
                      "fields": {
                        "generativeQuestionConfigs": {
                          "rule": "repeated",
                          "type": "GenerativeQuestionConfig",
                          "id": 1
                        }
                      }
                    },
                    "UpdateGenerativeQuestionConfigRequest": {
                      "fields": {
                        "generativeQuestionConfig": {
                          "type": "GenerativeQuestionConfig",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "BatchUpdateGenerativeQuestionConfigsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "requests": {
                          "rule": "repeated",
                          "type": "UpdateGenerativeQuestionConfigRequest",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "BatchUpdateGenerativeQuestionConfigsResponse": {
                      "fields": {
                        "generativeQuestionConfigs": {
                          "rule": "repeated",
                          "type": "GenerativeQuestionConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "Model": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/Model",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/models/{model}"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "trainingState": {
                          "type": "TrainingState",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "servingState": {
                          "type": "ServingState",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "type": {
                          "type": "string",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "optimizationObjective": {
                          "type": "string",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "periodicTuningState": {
                          "type": "PeriodicTuningState",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "lastTuneTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 12,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "tuningOperation": {
                          "type": "string",
                          "id": 15,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "dataState": {
                          "type": "DataState",
                          "id": 16,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "filteringOption": {
                          "type": "RecommendationsFilteringOption",
                          "id": 18,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "servingConfigLists": {
                          "rule": "repeated",
                          "type": "ServingConfigList",
                          "id": 19,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "modelFeaturesConfig": {
                          "type": "ModelFeaturesConfig",
                          "id": 22,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "ServingConfigList": {
                          "fields": {
                            "servingConfigIds": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          }
                        },
                        "FrequentlyBoughtTogetherFeaturesConfig": {
                          "fields": {
                            "contextProductsType": {
                              "type": "ContextProductsType",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          }
                        },
                        "ModelFeaturesConfig": {
                          "oneofs": {
                            "typeDedicatedConfig": {
                              "oneof": [
                                "frequentlyBoughtTogetherConfig"
                              ]
                            }
                          },
                          "fields": {
                            "frequentlyBoughtTogetherConfig": {
                              "type": "FrequentlyBoughtTogetherFeaturesConfig",
                              "id": 1
                            }
                          }
                        },
                        "ServingState": {
                          "values": {
                            "SERVING_STATE_UNSPECIFIED": 0,
                            "INACTIVE": 1,
                            "ACTIVE": 2,
                            "TUNED": 3
                          }
                        },
                        "TrainingState": {
                          "values": {
                            "TRAINING_STATE_UNSPECIFIED": 0,
                            "PAUSED": 1,
                            "TRAINING": 2
                          }
                        },
                        "PeriodicTuningState": {
                          "values": {
                            "PERIODIC_TUNING_STATE_UNSPECIFIED": 0,
                            "PERIODIC_TUNING_DISABLED": 1,
                            "ALL_TUNING_DISABLED": 3,
                            "PERIODIC_TUNING_ENABLED": 2
                          }
                        },
                        "DataState": {
                          "values": {
                            "DATA_STATE_UNSPECIFIED": 0,
                            "DATA_OK": 1,
                            "DATA_ERROR": 2
                          }
                        },
                        "ContextProductsType": {
                          "values": {
                            "CONTEXT_PRODUCTS_TYPE_UNSPECIFIED": 0,
                            "SINGLE_CONTEXT_PRODUCT": 1,
                            "MULTIPLE_CONTEXT_PRODUCTS": 2
                          }
                        }
                      }
                    },
                    "ModelService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "CreateModel": {
                          "requestType": "CreateModelRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/models",
                            "(google.api.http).body": "model",
                            "(google.api.method_signature)": "parent,model",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2beta.Model",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2beta.CreateModelMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/models",
                                "body": "model"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,model"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2beta.Model",
                                "metadata_type": "google.cloud.retail.v2beta.CreateModelMetadata"
                              }
                            }
                          ]
                        },
                        "GetModel": {
                          "requestType": "GetModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).get": "/v2beta/{name=projects/*/locations/*/catalogs/*/models/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{name=projects/*/locations/*/catalogs/*/models/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "PauseModel": {
                          "requestType": "PauseModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).post": "/v2beta/{name=projects/*/locations/*/catalogs/*/models/*}:pause",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{name=projects/*/locations/*/catalogs/*/models/*}:pause",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ResumeModel": {
                          "requestType": "ResumeModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).post": "/v2beta/{name=projects/*/locations/*/catalogs/*/models/*}:resume",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{name=projects/*/locations/*/catalogs/*/models/*}:resume",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "DeleteModel": {
                          "requestType": "DeleteModelRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v2beta/{name=projects/*/locations/*/catalogs/*/models/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v2beta/{name=projects/*/locations/*/catalogs/*/models/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListModels": {
                          "requestType": "ListModelsRequest",
                          "responseType": "ListModelsResponse",
                          "options": {
                            "(google.api.http).get": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/models",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/models"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "UpdateModel": {
                          "requestType": "UpdateModelRequest",
                          "responseType": "Model",
                          "options": {
                            "(google.api.http).patch": "/v2beta/{model.name=projects/*/locations/*/catalogs/*/models/*}",
                            "(google.api.http).body": "model",
                            "(google.api.method_signature)": "model,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2beta/{model.name=projects/*/locations/*/catalogs/*/models/*}",
                                "body": "model"
                              }
                            },
                            {
                              "(google.api.method_signature)": "model,update_mask"
                            }
                          ]
                        },
                        "TuneModel": {
                          "requestType": "TuneModelRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2beta/{name=projects/*/locations/*/catalogs/*/models/*}:tune",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2beta.TuneModelResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2beta.TuneModelMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{name=projects/*/locations/*/catalogs/*/models/*}:tune",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2beta.TuneModelResponse",
                                "metadata_type": "google.cloud.retail.v2beta.TuneModelMetadata"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "CreateModelRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "model": {
                          "type": "Model",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "dryRun": {
                          "type": "bool",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "UpdateModelRequest": {
                      "fields": {
                        "model": {
                          "type": "Model",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GetModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "PauseModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "ResumeModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "ListModelsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "DeleteModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "ListModelsResponse": {
                      "fields": {
                        "models": {
                          "rule": "repeated",
                          "type": "Model",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "TuneModelRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Model"
                          }
                        }
                      }
                    },
                    "CreateModelMetadata": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "TuneModelMetadata": {
                      "fields": {
                        "model": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "TuneModelResponse": {
                      "fields": {}
                    },
                    "PredictionService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "Predict": {
                          "requestType": "PredictRequest",
                          "responseType": "PredictResponse",
                          "options": {
                            "(google.api.http).post": "/v2beta/{placement=projects/*/locations/*/catalogs/*/placements/*}:predict",
                            "(google.api.http).body": "*",
                            "(google.api.http).additional_bindings.post": "/v2beta/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:predict",
                            "(google.api.http).additional_bindings.body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{placement=projects/*/locations/*/catalogs/*/placements/*}:predict",
                                "body": "*",
                                "additional_bindings": {
                                  "post": "/v2beta/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:predict",
                                  "body": "*"
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    "PredictRequest": {
                      "fields": {
                        "placement": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userEvent": {
                          "type": "UserEvent",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 3
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "deprecated": true
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 5
                        },
                        "validateOnly": {
                          "type": "bool",
                          "id": 6
                        },
                        "params": {
                          "keyType": "string",
                          "type": "google.protobuf.Value",
                          "id": 7
                        },
                        "labels": {
                          "keyType": "string",
                          "type": "string",
                          "id": 8
                        }
                      }
                    },
                    "PredictResponse": {
                      "fields": {
                        "results": {
                          "rule": "repeated",
                          "type": "PredictionResult",
                          "id": 1
                        },
                        "attributionToken": {
                          "type": "string",
                          "id": 2
                        },
                        "missingIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3
                        },
                        "validateOnly": {
                          "type": "bool",
                          "id": 4
                        }
                      },
                      "nested": {
                        "PredictionResult": {
                          "fields": {
                            "id": {
                              "type": "string",
                              "id": 1
                            },
                            "metadata": {
                              "keyType": "string",
                              "type": "google.protobuf.Value",
                              "id": 2
                            }
                          }
                        }
                      }
                    },
                    "ProductService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "CreateProduct": {
                          "requestType": "CreateProductRequest",
                          "responseType": "Product",
                          "options": {
                            "(google.api.http).post": "/v2beta/{parent=projects/*/locations/*/catalogs/*/branches/*}/products",
                            "(google.api.http).body": "product",
                            "(google.api.method_signature)": "parent,product,product_id"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{parent=projects/*/locations/*/catalogs/*/branches/*}/products",
                                "body": "product"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,product,product_id"
                            }
                          ]
                        },
                        "GetProduct": {
                          "requestType": "GetProductRequest",
                          "responseType": "Product",
                          "options": {
                            "(google.api.http).get": "/v2beta/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListProducts": {
                          "requestType": "ListProductsRequest",
                          "responseType": "ListProductsResponse",
                          "options": {
                            "(google.api.http).get": "/v2beta/{parent=projects/*/locations/*/catalogs/*/branches/*}/products",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{parent=projects/*/locations/*/catalogs/*/branches/*}/products"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "UpdateProduct": {
                          "requestType": "UpdateProductRequest",
                          "responseType": "Product",
                          "options": {
                            "(google.api.http).patch": "/v2beta/{product.name=projects/*/locations/*/catalogs/*/branches/*/products/**}",
                            "(google.api.http).body": "product",
                            "(google.api.method_signature)": "product,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2beta/{product.name=projects/*/locations/*/catalogs/*/branches/*/products/**}",
                                "body": "product"
                              }
                            },
                            {
                              "(google.api.method_signature)": "product,update_mask"
                            }
                          ]
                        },
                        "DeleteProduct": {
                          "requestType": "DeleteProductRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v2beta/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v2beta/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "PurgeProducts": {
                          "requestType": "PurgeProductsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2beta/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:purge",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2beta.PurgeProductsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2beta.PurgeProductsMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:purge",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2beta.PurgeProductsResponse",
                                "metadata_type": "google.cloud.retail.v2beta.PurgeProductsMetadata"
                              }
                            }
                          ]
                        },
                        "ImportProducts": {
                          "requestType": "ImportProductsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2beta/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:import",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2beta.ImportProductsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2beta.ImportMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:import",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2beta.ImportProductsResponse",
                                "metadata_type": "google.cloud.retail.v2beta.ImportMetadata"
                              }
                            }
                          ]
                        },
                        "ExportProducts": {
                          "requestType": "ExportProductsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2beta/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:export",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2beta.ExportProductsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2beta.ExportMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:export",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2beta.ExportProductsResponse",
                                "metadata_type": "google.cloud.retail.v2beta.ExportMetadata"
                              }
                            }
                          ]
                        },
                        "SetInventory": {
                          "requestType": "SetInventoryRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2beta/{inventory.name=projects/*/locations/*/catalogs/*/branches/*/products/**}:setInventory",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "inventory,set_mask",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2beta.SetInventoryResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2beta.SetInventoryMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{inventory.name=projects/*/locations/*/catalogs/*/branches/*/products/**}:setInventory",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "inventory,set_mask"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2beta.SetInventoryResponse",
                                "metadata_type": "google.cloud.retail.v2beta.SetInventoryMetadata"
                              }
                            }
                          ]
                        },
                        "AddFulfillmentPlaces": {
                          "requestType": "AddFulfillmentPlacesRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2beta/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addFulfillmentPlaces",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "product",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2beta.AddFulfillmentPlacesResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2beta.AddFulfillmentPlacesMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addFulfillmentPlaces",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "product"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2beta.AddFulfillmentPlacesResponse",
                                "metadata_type": "google.cloud.retail.v2beta.AddFulfillmentPlacesMetadata"
                              }
                            }
                          ]
                        },
                        "RemoveFulfillmentPlaces": {
                          "requestType": "RemoveFulfillmentPlacesRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2beta/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeFulfillmentPlaces",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "product",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2beta.RemoveFulfillmentPlacesResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2beta.RemoveFulfillmentPlacesMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeFulfillmentPlaces",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "product"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2beta.RemoveFulfillmentPlacesResponse",
                                "metadata_type": "google.cloud.retail.v2beta.RemoveFulfillmentPlacesMetadata"
                              }
                            }
                          ]
                        },
                        "AddLocalInventories": {
                          "requestType": "AddLocalInventoriesRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2beta/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addLocalInventories",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "product",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2beta.AddLocalInventoriesResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2beta.AddLocalInventoriesMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addLocalInventories",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "product"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2beta.AddLocalInventoriesResponse",
                                "metadata_type": "google.cloud.retail.v2beta.AddLocalInventoriesMetadata"
                              }
                            }
                          ]
                        },
                        "RemoveLocalInventories": {
                          "requestType": "RemoveLocalInventoriesRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2beta/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeLocalInventories",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "product",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2beta.RemoveLocalInventoriesResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2beta.RemoveLocalInventoriesMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeLocalInventories",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "product"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2beta.RemoveLocalInventoriesResponse",
                                "metadata_type": "google.cloud.retail.v2beta.RemoveLocalInventoriesMetadata"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "CreateProductRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "product": {
                          "type": "Product",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "productId": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "GetProductRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        }
                      }
                    },
                    "UpdateProductRequest": {
                      "fields": {
                        "product": {
                          "type": "Product",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 3
                        }
                      }
                    },
                    "DeleteProductRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        }
                      }
                    },
                    "ListProductsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3
                        },
                        "filter": {
                          "type": "string",
                          "id": 4
                        },
                        "readMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 5
                        }
                      }
                    },
                    "ListProductsResponse": {
                      "fields": {
                        "products": {
                          "rule": "repeated",
                          "type": "Product",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "SetInventoryRequest": {
                      "fields": {
                        "inventory": {
                          "type": "Product",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "setMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        },
                        "setTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 3
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 4
                        }
                      }
                    },
                    "SetInventoryMetadata": {
                      "fields": {}
                    },
                    "SetInventoryResponse": {
                      "fields": {}
                    },
                    "AddFulfillmentPlacesRequest": {
                      "fields": {
                        "product": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        },
                        "type": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "placeIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "addTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 5
                        }
                      }
                    },
                    "AddFulfillmentPlacesMetadata": {
                      "fields": {}
                    },
                    "AddFulfillmentPlacesResponse": {
                      "fields": {}
                    },
                    "AddLocalInventoriesRequest": {
                      "fields": {
                        "product": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        },
                        "localInventories": {
                          "rule": "repeated",
                          "type": "LocalInventory",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "addMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 4
                        },
                        "addTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 6
                        }
                      }
                    },
                    "AddLocalInventoriesMetadata": {
                      "fields": {}
                    },
                    "AddLocalInventoriesResponse": {
                      "fields": {}
                    },
                    "RemoveLocalInventoriesRequest": {
                      "fields": {
                        "product": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        },
                        "placeIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "removeTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 3
                        }
                      }
                    },
                    "RemoveLocalInventoriesMetadata": {
                      "fields": {}
                    },
                    "RemoveLocalInventoriesResponse": {
                      "fields": {}
                    },
                    "RemoveFulfillmentPlacesRequest": {
                      "fields": {
                        "product": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        },
                        "type": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "placeIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "removeTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4
                        },
                        "allowMissing": {
                          "type": "bool",
                          "id": 5
                        }
                      }
                    },
                    "RemoveFulfillmentPlacesMetadata": {
                      "fields": {}
                    },
                    "RemoveFulfillmentPlacesResponse": {
                      "fields": {}
                    },
                    "PurgeMetadata": {
                      "fields": {}
                    },
                    "PurgeProductsMetadata": {
                      "fields": {
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 1
                        },
                        "updateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2
                        },
                        "successCount": {
                          "type": "int64",
                          "id": 3
                        },
                        "failureCount": {
                          "type": "int64",
                          "id": 4
                        }
                      }
                    },
                    "PurgeProductsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Branch"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "force": {
                          "type": "bool",
                          "id": 3
                        }
                      }
                    },
                    "PurgeProductsResponse": {
                      "fields": {
                        "purgeCount": {
                          "type": "int64",
                          "id": 1
                        },
                        "purgeSample": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.resource_reference).type": "retail.googleapis.com/Product"
                          }
                        }
                      }
                    },
                    "PurgeUserEventsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "force": {
                          "type": "bool",
                          "id": 3
                        }
                      }
                    },
                    "PurgeUserEventsResponse": {
                      "fields": {
                        "purgedEventsCount": {
                          "type": "int64",
                          "id": 1
                        }
                      }
                    },
                    "AlertConfig": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/AlertConfig",
                        "(google.api.resource).pattern": "projects/{project}/alertConfig"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "alertPolicies": {
                          "rule": "repeated",
                          "type": "AlertPolicy",
                          "id": 2
                        }
                      },
                      "nested": {
                        "AlertPolicy": {
                          "fields": {
                            "alertGroup": {
                              "type": "string",
                              "id": 1
                            },
                            "enrollStatus": {
                              "type": "EnrollStatus",
                              "id": 2
                            },
                            "recipients": {
                              "rule": "repeated",
                              "type": "Recipient",
                              "id": 3
                            }
                          },
                          "nested": {
                            "Recipient": {
                              "fields": {
                                "emailAddress": {
                                  "type": "string",
                                  "id": 1
                                }
                              }
                            },
                            "EnrollStatus": {
                              "values": {
                                "ENROLL_STATUS_UNSPECIFIED": 0,
                                "ENROLLED": 1,
                                "DECLINED": 2
                              }
                            }
                          }
                        }
                      }
                    },
                    "ProjectService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "GetAlertConfig": {
                          "requestType": "GetAlertConfigRequest",
                          "responseType": "AlertConfig",
                          "options": {
                            "(google.api.http).get": "/v2beta/{name=projects/*/alertConfig}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{name=projects/*/alertConfig}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateAlertConfig": {
                          "requestType": "UpdateAlertConfigRequest",
                          "responseType": "AlertConfig",
                          "options": {
                            "(google.api.http).patch": "/v2beta/{alert_config.name=projects/*/alertConfig}",
                            "(google.api.http).body": "alert_config",
                            "(google.api.method_signature)": "alert_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2beta/{alert_config.name=projects/*/alertConfig}",
                                "body": "alert_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "alert_config,update_mask"
                            }
                          ]
                        }
                      }
                    },
                    "GetAlertConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/AlertConfig"
                          }
                        }
                      }
                    },
                    "UpdateAlertConfigRequest": {
                      "fields": {
                        "alertConfig": {
                          "type": "AlertConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "ServingConfig": {
                      "options": {
                        "(google.api.resource).type": "retail.googleapis.com/ServingConfig",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/catalogs/{catalog}/servingConfigs/{serving_config}"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "displayName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "modelId": {
                          "type": "string",
                          "id": 3
                        },
                        "priceRerankingLevel": {
                          "type": "string",
                          "id": 4
                        },
                        "facetControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5
                        },
                        "dynamicFacetSpec": {
                          "type": "SearchRequest.DynamicFacetSpec",
                          "id": 6
                        },
                        "boostControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 7
                        },
                        "filterControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 9
                        },
                        "redirectControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 10
                        },
                        "twowaySynonymsControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 18
                        },
                        "onewaySynonymsControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 12
                        },
                        "doNotAssociateControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 13
                        },
                        "replacementControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 14
                        },
                        "ignoreControlIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 15
                        },
                        "diversityLevel": {
                          "type": "string",
                          "id": 8
                        },
                        "diversityType": {
                          "type": "DiversityType",
                          "id": 20
                        },
                        "enableCategoryFilterLevel": {
                          "type": "string",
                          "id": 16
                        },
                        "ignoreRecsDenylist": {
                          "type": "bool",
                          "id": 24
                        },
                        "personalizationSpec": {
                          "type": "SearchRequest.PersonalizationSpec",
                          "id": 21
                        },
                        "solutionTypes": {
                          "rule": "repeated",
                          "type": "SolutionType",
                          "id": 19,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        }
                      },
                      "nested": {
                        "DiversityType": {
                          "values": {
                            "DIVERSITY_TYPE_UNSPECIFIED": 0,
                            "RULE_BASED_DIVERSITY": 2,
                            "DATA_DRIVEN_DIVERSITY": 3
                          }
                        }
                      }
                    },
                    "ServingConfigService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "CreateServingConfig": {
                          "requestType": "CreateServingConfigRequest",
                          "responseType": "ServingConfig",
                          "options": {
                            "(google.api.http).post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/servingConfigs",
                            "(google.api.http).body": "serving_config",
                            "(google.api.method_signature)": "parent,serving_config,serving_config_id"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/servingConfigs",
                                "body": "serving_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,serving_config,serving_config_id"
                            }
                          ]
                        },
                        "DeleteServingConfig": {
                          "requestType": "DeleteServingConfigRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v2beta/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v2beta/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateServingConfig": {
                          "requestType": "UpdateServingConfigRequest",
                          "responseType": "ServingConfig",
                          "options": {
                            "(google.api.http).patch": "/v2beta/{serving_config.name=projects/*/locations/*/catalogs/*/servingConfigs/*}",
                            "(google.api.http).body": "serving_config",
                            "(google.api.method_signature)": "serving_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v2beta/{serving_config.name=projects/*/locations/*/catalogs/*/servingConfigs/*}",
                                "body": "serving_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "serving_config,update_mask"
                            }
                          ]
                        },
                        "GetServingConfig": {
                          "requestType": "GetServingConfigRequest",
                          "responseType": "ServingConfig",
                          "options": {
                            "(google.api.http).get": "/v2beta/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListServingConfigs": {
                          "requestType": "ListServingConfigsRequest",
                          "responseType": "ListServingConfigsResponse",
                          "options": {
                            "(google.api.http).get": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/servingConfigs",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/servingConfigs"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "AddControl": {
                          "requestType": "AddControlRequest",
                          "responseType": "ServingConfig",
                          "options": {
                            "(google.api.http).post": "/v2beta/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:addControl",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "serving_config"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:addControl",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "serving_config"
                            }
                          ]
                        },
                        "RemoveControl": {
                          "requestType": "RemoveControlRequest",
                          "responseType": "ServingConfig",
                          "options": {
                            "(google.api.http).post": "/v2beta/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:removeControl",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "serving_config"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:removeControl",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "serving_config"
                            }
                          ]
                        }
                      }
                    },
                    "CreateServingConfigRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "servingConfig": {
                          "type": "ServingConfig",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "servingConfigId": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "UpdateServingConfigRequest": {
                      "fields": {
                        "servingConfig": {
                          "type": "ServingConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2
                        }
                      }
                    },
                    "DeleteServingConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                          }
                        }
                      }
                    },
                    "GetServingConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                          }
                        }
                      }
                    },
                    "ListServingConfigsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/Catalog"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListServingConfigsResponse": {
                      "fields": {
                        "servingConfigs": {
                          "rule": "repeated",
                          "type": "ServingConfig",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "AddControlRequest": {
                      "fields": {
                        "servingConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                          }
                        },
                        "controlId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "RemoveControlRequest": {
                      "fields": {
                        "servingConfig": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "retail.googleapis.com/ServingConfig"
                          }
                        },
                        "controlId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "UserEventService": {
                      "options": {
                        "(google.api.default_host)": "retail.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform"
                      },
                      "methods": {
                        "WriteUserEvent": {
                          "requestType": "WriteUserEventRequest",
                          "responseType": "UserEvent",
                          "options": {
                            "(google.api.http).post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:write",
                            "(google.api.http).body": "user_event"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:write",
                                "body": "user_event"
                              }
                            }
                          ]
                        },
                        "CollectUserEvent": {
                          "requestType": "CollectUserEventRequest",
                          "responseType": "google.api.HttpBody",
                          "options": {
                            "(google.api.http).get": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect",
                            "(google.api.http).additional_bindings.post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect",
                            "(google.api.http).additional_bindings.body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect",
                                "additional_bindings": {
                                  "post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect",
                                  "body": "*"
                                }
                              }
                            }
                          ]
                        },
                        "PurgeUserEvents": {
                          "requestType": "PurgeUserEventsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:purge",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2beta.PurgeUserEventsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2beta.PurgeMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:purge",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2beta.PurgeUserEventsResponse",
                                "metadata_type": "google.cloud.retail.v2beta.PurgeMetadata"
                              }
                            }
                          ]
                        },
                        "ImportUserEvents": {
                          "requestType": "ImportUserEventsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:import",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2beta.ImportUserEventsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2beta.ImportMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:import",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2beta.ImportUserEventsResponse",
                                "metadata_type": "google.cloud.retail.v2beta.ImportMetadata"
                              }
                            }
                          ]
                        },
                        "ExportUserEvents": {
                          "requestType": "ExportUserEventsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:export",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "google.cloud.retail.v2beta.ExportUserEventsResponse",
                            "(google.longrunning.operation_info).metadata_type": "google.cloud.retail.v2beta.ExportMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:export",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.cloud.retail.v2beta.ExportUserEventsResponse",
                                "metadata_type": "google.cloud.retail.v2beta.ExportMetadata"
                              }
                            }
                          ]
                        },
                        "RejoinUserEvents": {
                          "requestType": "RejoinUserEventsRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:rejoin",
                            "(google.api.http).body": "*",
                            "(google.longrunning.operation_info).response_type": "RejoinUserEventsResponse",
                            "(google.longrunning.operation_info).metadata_type": "RejoinUserEventsMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:rejoin",
                                "body": "*"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "RejoinUserEventsResponse",
                                "metadata_type": "RejoinUserEventsMetadata"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "WriteUserEventRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userEvent": {
                          "type": "UserEvent",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "writeAsync": {
                          "type": "bool",
                          "id": 3
                        }
                      }
                    },
                    "CollectUserEventRequest": {
                      "oneofs": {
                        "conversionRule": {
                          "oneof": [
                            "prebuiltRule"
                          ]
                        }
                      },
                      "fields": {
                        "prebuiltRule": {
                          "type": "string",
                          "id": 6
                        },
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userEvent": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "uri": {
                          "type": "string",
                          "id": 3
                        },
                        "ets": {
                          "type": "int64",
                          "id": 4
                        },
                        "rawJson": {
                          "type": "string",
                          "id": 5
                        }
                      }
                    },
                    "RejoinUserEventsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "userEventRejoinScope": {
                          "type": "UserEventRejoinScope",
                          "id": 2
                        }
                      },
                      "nested": {
                        "UserEventRejoinScope": {
                          "values": {
                            "USER_EVENT_REJOIN_SCOPE_UNSPECIFIED": 0,
                            "JOINED_EVENTS": 1,
                            "UNJOINED_EVENTS": 2
                          }
                        }
                      }
                    },
                    "RejoinUserEventsResponse": {
                      "fields": {
                        "rejoinedUserEventsCount": {
                          "type": "int64",
                          "id": 1
                        }
                      }
                    },
                    "RejoinUserEventsMetadata": {
                      "fields": {}
                    }
                  }
                }
              }
            }
          }
        },
        "api": {
          "options": {
            "go_package": "google.golang.org/genproto/googleapis/api/httpbody;httpbody",
            "java_multiple_files": true,
            "java_outer_classname": "HttpBodyProto",
            "java_package": "com.google.api",
            "objc_class_prefix": "GAPI",
            "cc_enable_arenas": true
          },
          "nested": {
            "http": {
              "type": "HttpRule",
              "id": 72295728,
              "extend": "google.protobuf.MethodOptions"
            },
            "Http": {
              "fields": {
                "rules": {
                  "rule": "repeated",
                  "type": "HttpRule",
                  "id": 1
                },
                "fullyDecodeReservedExpansion": {
                  "type": "bool",
                  "id": 2
                }
              }
            },
            "HttpRule": {
              "oneofs": {
                "pattern": {
                  "oneof": [
                    "get",
                    "put",
                    "post",
                    "delete",
                    "patch",
                    "custom"
                  ]
                }
              },
              "fields": {
                "selector": {
                  "type": "string",
                  "id": 1
                },
                "get": {
                  "type": "string",
                  "id": 2
                },
                "put": {
                  "type": "string",
                  "id": 3
                },
                "post": {
                  "type": "string",
                  "id": 4
                },
                "delete": {
                  "type": "string",
                  "id": 5
                },
                "patch": {
                  "type": "string",
                  "id": 6
                },
                "custom": {
                  "type": "CustomHttpPattern",
                  "id": 8
                },
                "body": {
                  "type": "string",
                  "id": 7
                },
                "responseBody": {
                  "type": "string",
                  "id": 12
                },
                "additionalBindings": {
                  "rule": "repeated",
                  "type": "HttpRule",
                  "id": 11
                }
              }
            },
            "CustomHttpPattern": {
              "fields": {
                "kind": {
                  "type": "string",
                  "id": 1
                },
                "path": {
                  "type": "string",
                  "id": 2
                }
              }
            },
            "methodSignature": {
              "rule": "repeated",
              "type": "string",
              "id": 1051,
              "extend": "google.protobuf.MethodOptions"
            },
            "defaultHost": {
              "type": "string",
              "id": 1049,
              "extend": "google.protobuf.ServiceOptions"
            },
            "oauthScopes": {
              "type": "string",
              "id": 1050,
              "extend": "google.protobuf.ServiceOptions"
            },
            "apiVersion": {
              "type": "string",
              "id": 525000001,
              "extend": "google.protobuf.ServiceOptions"
            },
            "CommonLanguageSettings": {
              "fields": {
                "referenceDocsUri": {
                  "type": "string",
                  "id": 1,
                  "options": {
                    "deprecated": true
                  }
                },
                "destinations": {
                  "rule": "repeated",
                  "type": "ClientLibraryDestination",
                  "id": 2
                }
              }
            },
            "ClientLibrarySettings": {
              "fields": {
                "version": {
                  "type": "string",
                  "id": 1
                },
                "launchStage": {
                  "type": "LaunchStage",
                  "id": 2
                },
                "restNumericEnums": {
                  "type": "bool",
                  "id": 3
                },
                "javaSettings": {
                  "type": "JavaSettings",
                  "id": 21
                },
                "cppSettings": {
                  "type": "CppSettings",
                  "id": 22
                },
                "phpSettings": {
                  "type": "PhpSettings",
                  "id": 23
                },
                "pythonSettings": {
                  "type": "PythonSettings",
                  "id": 24
                },
                "nodeSettings": {
                  "type": "NodeSettings",
                  "id": 25
                },
                "dotnetSettings": {
                  "type": "DotnetSettings",
                  "id": 26
                },
                "rubySettings": {
                  "type": "RubySettings",
                  "id": 27
                },
                "goSettings": {
                  "type": "GoSettings",
                  "id": 28
                }
              }
            },
            "Publishing": {
              "fields": {
                "methodSettings": {
                  "rule": "repeated",
                  "type": "MethodSettings",
                  "id": 2
                },
                "newIssueUri": {
                  "type": "string",
                  "id": 101
                },
                "documentationUri": {
                  "type": "string",
                  "id": 102
                },
                "apiShortName": {
                  "type": "string",
                  "id": 103
                },
                "githubLabel": {
                  "type": "string",
                  "id": 104
                },
                "codeownerGithubTeams": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 105
                },
                "docTagPrefix": {
                  "type": "string",
                  "id": 106
                },
                "organization": {
                  "type": "ClientLibraryOrganization",
                  "id": 107
                },
                "librarySettings": {
                  "rule": "repeated",
                  "type": "ClientLibrarySettings",
                  "id": 109
                },
                "protoReferenceDocumentationUri": {
                  "type": "string",
                  "id": 110
                },
                "restReferenceDocumentationUri": {
                  "type": "string",
                  "id": 111
                }
              }
            },
            "JavaSettings": {
              "fields": {
                "libraryPackage": {
                  "type": "string",
                  "id": 1
                },
                "serviceClassNames": {
                  "keyType": "string",
                  "type": "string",
                  "id": 2
                },
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 3
                }
              }
            },
            "CppSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "PhpSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "PythonSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "NodeSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "DotnetSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                },
                "renamedServices": {
                  "keyType": "string",
                  "type": "string",
                  "id": 2
                },
                "renamedResources": {
                  "keyType": "string",
                  "type": "string",
                  "id": 3
                },
                "ignoredResources": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 4
                },
                "forcedNamespaceAliases": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 5
                },
                "handwrittenSignatures": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 6
                }
              }
            },
            "RubySettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "GoSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "MethodSettings": {
              "fields": {
                "selector": {
                  "type": "string",
                  "id": 1
                },
                "longRunning": {
                  "type": "LongRunning",
                  "id": 2
                },
                "autoPopulatedFields": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 3
                }
              },
              "nested": {
                "LongRunning": {
                  "fields": {
                    "initialPollDelay": {
                      "type": "google.protobuf.Duration",
                      "id": 1
                    },
                    "pollDelayMultiplier": {
                      "type": "float",
                      "id": 2
                    },
                    "maxPollDelay": {
                      "type": "google.protobuf.Duration",
                      "id": 3
                    },
                    "totalPollTimeout": {
                      "type": "google.protobuf.Duration",
                      "id": 4
                    }
                  }
                }
              }
            },
            "ClientLibraryOrganization": {
              "values": {
                "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED": 0,
                "CLOUD": 1,
                "ADS": 2,
                "PHOTOS": 3,
                "STREET_VIEW": 4,
                "SHOPPING": 5,
                "GEO": 6,
                "GENERATIVE_AI": 7
              }
            },
            "ClientLibraryDestination": {
              "values": {
                "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED": 0,
                "GITHUB": 10,
                "PACKAGE_MANAGER": 20
              }
            },
            "LaunchStage": {
              "values": {
                "LAUNCH_STAGE_UNSPECIFIED": 0,
                "UNIMPLEMENTED": 6,
                "PRELAUNCH": 7,
                "EARLY_ACCESS": 1,
                "ALPHA": 2,
                "BETA": 3,
                "GA": 4,
                "DEPRECATED": 5
              }
            },
            "fieldBehavior": {
              "rule": "repeated",
              "type": "google.api.FieldBehavior",
              "id": 1052,
              "extend": "google.protobuf.FieldOptions",
              "options": {
                "packed": false
              }
            },
            "FieldBehavior": {
              "values": {
                "FIELD_BEHAVIOR_UNSPECIFIED": 0,
                "OPTIONAL": 1,
                "REQUIRED": 2,
                "OUTPUT_ONLY": 3,
                "INPUT_ONLY": 4,
                "IMMUTABLE": 5,
                "UNORDERED_LIST": 6,
                "NON_EMPTY_DEFAULT": 7,
                "IDENTIFIER": 8
              }
            },
            "resourceReference": {
              "type": "google.api.ResourceReference",
              "id": 1055,
              "extend": "google.protobuf.FieldOptions"
            },
            "resourceDefinition": {
              "rule": "repeated",
              "type": "google.api.ResourceDescriptor",
              "id": 1053,
              "extend": "google.protobuf.FileOptions"
            },
            "resource": {
              "type": "google.api.ResourceDescriptor",
              "id": 1053,
              "extend": "google.protobuf.MessageOptions"
            },
            "ResourceDescriptor": {
              "fields": {
                "type": {
                  "type": "string",
                  "id": 1
                },
                "pattern": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 2
                },
                "nameField": {
                  "type": "string",
                  "id": 3
                },
                "history": {
                  "type": "History",
                  "id": 4
                },
                "plural": {
                  "type": "string",
                  "id": 5
                },
                "singular": {
                  "type": "string",
                  "id": 6
                },
                "style": {
                  "rule": "repeated",
                  "type": "Style",
                  "id": 10
                }
              },
              "nested": {
                "History": {
                  "values": {
                    "HISTORY_UNSPECIFIED": 0,
                    "ORIGINALLY_SINGLE_PATTERN": 1,
                    "FUTURE_MULTI_PATTERN": 2
                  }
                },
                "Style": {
                  "values": {
                    "STYLE_UNSPECIFIED": 0,
                    "DECLARATIVE_FRIENDLY": 1
                  }
                }
              }
            },
            "ResourceReference": {
              "fields": {
                "type": {
                  "type": "string",
                  "id": 1
                },
                "childType": {
                  "type": "string",
                  "id": 2
                }
              }
            },
            "HttpBody": {
              "fields": {
                "contentType": {
                  "type": "string",
                  "id": 1
                },
                "data": {
                  "type": "bytes",
                  "id": 2
                },
                "extensions": {
                  "rule": "repeated",
                  "type": "google.protobuf.Any",
                  "id": 3
                }
              }
            }
          }
        },
        "protobuf": {
          "options": {
            "go_package": "google.golang.org/protobuf/types/descriptorpb",
            "java_package": "com.google.protobuf",
            "java_outer_classname": "DescriptorProtos",
            "csharp_namespace": "Google.Protobuf.Reflection",
            "objc_class_prefix": "GPB",
            "cc_enable_arenas": true,
            "optimize_for": "SPEED"
          },
          "nested": {
            "FileDescriptorSet": {
              "edition": "proto2",
              "fields": {
                "file": {
                  "rule": "repeated",
                  "type": "FileDescriptorProto",
                  "id": 1
                }
              }
            },
            "Edition": {
              "edition": "proto2",
              "values": {
                "EDITION_UNKNOWN": 0,
                "EDITION_PROTO2": 998,
                "EDITION_PROTO3": 999,
                "EDITION_2023": 1000,
                "EDITION_2024": 1001,
                "EDITION_1_TEST_ONLY": 1,
                "EDITION_2_TEST_ONLY": 2,
                "EDITION_99997_TEST_ONLY": 99997,
                "EDITION_99998_TEST_ONLY": 99998,
                "EDITION_99999_TEST_ONLY": 99999,
                "EDITION_MAX": 2147483647
              }
            },
            "FileDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "package": {
                  "type": "string",
                  "id": 2
                },
                "dependency": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 3
                },
                "publicDependency": {
                  "rule": "repeated",
                  "type": "int32",
                  "id": 10
                },
                "weakDependency": {
                  "rule": "repeated",
                  "type": "int32",
                  "id": 11
                },
                "messageType": {
                  "rule": "repeated",
                  "type": "DescriptorProto",
                  "id": 4
                },
                "enumType": {
                  "rule": "repeated",
                  "type": "EnumDescriptorProto",
                  "id": 5
                },
                "service": {
                  "rule": "repeated",
                  "type": "ServiceDescriptorProto",
                  "id": 6
                },
                "extension": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 7
                },
                "options": {
                  "type": "FileOptions",
                  "id": 8
                },
                "sourceCodeInfo": {
                  "type": "SourceCodeInfo",
                  "id": 9
                },
                "syntax": {
                  "type": "string",
                  "id": 12
                },
                "edition": {
                  "type": "Edition",
                  "id": 14
                }
              }
            },
            "DescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "field": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 2
                },
                "extension": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 6
                },
                "nestedType": {
                  "rule": "repeated",
                  "type": "DescriptorProto",
                  "id": 3
                },
                "enumType": {
                  "rule": "repeated",
                  "type": "EnumDescriptorProto",
                  "id": 4
                },
                "extensionRange": {
                  "rule": "repeated",
                  "type": "ExtensionRange",
                  "id": 5
                },
                "oneofDecl": {
                  "rule": "repeated",
                  "type": "OneofDescriptorProto",
                  "id": 8
                },
                "options": {
                  "type": "MessageOptions",
                  "id": 7
                },
                "reservedRange": {
                  "rule": "repeated",
                  "type": "ReservedRange",
                  "id": 9
                },
                "reservedName": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 10
                }
              },
              "nested": {
                "ExtensionRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    },
                    "options": {
                      "type": "ExtensionRangeOptions",
                      "id": 3
                    }
                  }
                },
                "ReservedRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    }
                  }
                }
              }
            },
            "ExtensionRangeOptions": {
              "edition": "proto2",
              "fields": {
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                },
                "declaration": {
                  "rule": "repeated",
                  "type": "Declaration",
                  "id": 2,
                  "options": {
                    "retention": "RETENTION_SOURCE"
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 50
                },
                "verification": {
                  "type": "VerificationState",
                  "id": 3,
                  "options": {
                    "default": "UNVERIFIED",
                    "retention": "RETENTION_SOURCE"
                  }
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "nested": {
                "Declaration": {
                  "fields": {
                    "number": {
                      "type": "int32",
                      "id": 1
                    },
                    "fullName": {
                      "type": "string",
                      "id": 2
                    },
                    "type": {
                      "type": "string",
                      "id": 3
                    },
                    "reserved": {
                      "type": "bool",
                      "id": 5
                    },
                    "repeated": {
                      "type": "bool",
                      "id": 6
                    }
                  },
                  "reserved": [
                    [
                      4,
                      4
                    ]
                  ]
                },
                "VerificationState": {
                  "values": {
                    "DECLARATION": 0,
                    "UNVERIFIED": 1
                  }
                }
              }
            },
            "FieldDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "number": {
                  "type": "int32",
                  "id": 3
                },
                "label": {
                  "type": "Label",
                  "id": 4
                },
                "type": {
                  "type": "Type",
                  "id": 5
                },
                "typeName": {
                  "type": "string",
                  "id": 6
                },
                "extendee": {
                  "type": "string",
                  "id": 2
                },
                "defaultValue": {
                  "type": "string",
                  "id": 7
                },
                "oneofIndex": {
                  "type": "int32",
                  "id": 9
                },
                "jsonName": {
                  "type": "string",
                  "id": 10
                },
                "options": {
                  "type": "FieldOptions",
                  "id": 8
                },
                "proto3Optional": {
                  "type": "bool",
                  "id": 17
                }
              },
              "nested": {
                "Type": {
                  "values": {
                    "TYPE_DOUBLE": 1,
                    "TYPE_FLOAT": 2,
                    "TYPE_INT64": 3,
                    "TYPE_UINT64": 4,
                    "TYPE_INT32": 5,
                    "TYPE_FIXED64": 6,
                    "TYPE_FIXED32": 7,
                    "TYPE_BOOL": 8,
                    "TYPE_STRING": 9,
                    "TYPE_GROUP": 10,
                    "TYPE_MESSAGE": 11,
                    "TYPE_BYTES": 12,
                    "TYPE_UINT32": 13,
                    "TYPE_ENUM": 14,
                    "TYPE_SFIXED32": 15,
                    "TYPE_SFIXED64": 16,
                    "TYPE_SINT32": 17,
                    "TYPE_SINT64": 18
                  }
                },
                "Label": {
                  "values": {
                    "LABEL_OPTIONAL": 1,
                    "LABEL_REPEATED": 3,
                    "LABEL_REQUIRED": 2
                  }
                }
              }
            },
            "OneofDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "options": {
                  "type": "OneofOptions",
                  "id": 2
                }
              }
            },
            "EnumDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "value": {
                  "rule": "repeated",
                  "type": "EnumValueDescriptorProto",
                  "id": 2
                },
                "options": {
                  "type": "EnumOptions",
                  "id": 3
                },
                "reservedRange": {
                  "rule": "repeated",
                  "type": "EnumReservedRange",
                  "id": 4
                },
                "reservedName": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 5
                }
              },
              "nested": {
                "EnumReservedRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    }
                  }
                }
              }
            },
            "EnumValueDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "number": {
                  "type": "int32",
                  "id": 2
                },
                "options": {
                  "type": "EnumValueOptions",
                  "id": 3
                }
              }
            },
            "ServiceDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "method": {
                  "rule": "repeated",
                  "type": "MethodDescriptorProto",
                  "id": 2
                },
                "options": {
                  "type": "ServiceOptions",
                  "id": 3
                }
              }
            },
            "MethodDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "inputType": {
                  "type": "string",
                  "id": 2
                },
                "outputType": {
                  "type": "string",
                  "id": 3
                },
                "options": {
                  "type": "MethodOptions",
                  "id": 4
                },
                "clientStreaming": {
                  "type": "bool",
                  "id": 5,
                  "options": {
                    "default": false
                  }
                },
                "serverStreaming": {
                  "type": "bool",
                  "id": 6,
                  "options": {
                    "default": false
                  }
                }
              }
            },
            "FileOptions": {
              "edition": "proto2",
              "fields": {
                "javaPackage": {
                  "type": "string",
                  "id": 1
                },
                "javaOuterClassname": {
                  "type": "string",
                  "id": 8
                },
                "javaMultipleFiles": {
                  "type": "bool",
                  "id": 10,
                  "options": {
                    "default": false
                  }
                },
                "javaGenerateEqualsAndHash": {
                  "type": "bool",
                  "id": 20,
                  "options": {
                    "deprecated": true
                  }
                },
                "javaStringCheckUtf8": {
                  "type": "bool",
                  "id": 27,
                  "options": {
                    "default": false
                  }
                },
                "optimizeFor": {
                  "type": "OptimizeMode",
                  "id": 9,
                  "options": {
                    "default": "SPEED"
                  }
                },
                "goPackage": {
                  "type": "string",
                  "id": 11
                },
                "ccGenericServices": {
                  "type": "bool",
                  "id": 16,
                  "options": {
                    "default": false
                  }
                },
                "javaGenericServices": {
                  "type": "bool",
                  "id": 17,
                  "options": {
                    "default": false
                  }
                },
                "pyGenericServices": {
                  "type": "bool",
                  "id": 18,
                  "options": {
                    "default": false
                  }
                },
                "deprecated": {
                  "type": "bool",
                  "id": 23,
                  "options": {
                    "default": false
                  }
                },
                "ccEnableArenas": {
                  "type": "bool",
                  "id": 31,
                  "options": {
                    "default": true
                  }
                },
                "objcClassPrefix": {
                  "type": "string",
                  "id": 36
                },
                "csharpNamespace": {
                  "type": "string",
                  "id": 37
                },
                "swiftPrefix": {
                  "type": "string",
                  "id": 39
                },
                "phpClassPrefix": {
                  "type": "string",
                  "id": 40
                },
                "phpNamespace": {
                  "type": "string",
                  "id": 41
                },
                "phpMetadataNamespace": {
                  "type": "string",
                  "id": 44
                },
                "rubyPackage": {
                  "type": "string",
                  "id": 45
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 50
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  42,
                  42
                ],
                [
                  38,
                  38
                ]
              ],
              "nested": {
                "OptimizeMode": {
                  "values": {
                    "SPEED": 1,
                    "CODE_SIZE": 2,
                    "LITE_RUNTIME": 3
                  }
                }
              }
            },
            "MessageOptions": {
              "edition": "proto2",
              "fields": {
                "messageSetWireFormat": {
                  "type": "bool",
                  "id": 1,
                  "options": {
                    "default": false
                  }
                },
                "noStandardDescriptorAccessor": {
                  "type": "bool",
                  "id": 2,
                  "options": {
                    "default": false
                  }
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "mapEntry": {
                  "type": "bool",
                  "id": 7
                },
                "deprecatedLegacyJsonFieldConflicts": {
                  "type": "bool",
                  "id": 11,
                  "options": {
                    "deprecated": true
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 12
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  4,
                  4
                ],
                [
                  5,
                  5
                ],
                [
                  6,
                  6
                ],
                [
                  8,
                  8
                ],
                [
                  9,
                  9
                ]
              ]
            },
            "FieldOptions": {
              "edition": "proto2",
              "fields": {
                "ctype": {
                  "type": "CType",
                  "id": 1,
                  "options": {
                    "default": "STRING"
                  }
                },
                "packed": {
                  "type": "bool",
                  "id": 2
                },
                "jstype": {
                  "type": "JSType",
                  "id": 6,
                  "options": {
                    "default": "JS_NORMAL"
                  }
                },
                "lazy": {
                  "type": "bool",
                  "id": 5,
                  "options": {
                    "default": false
                  }
                },
                "unverifiedLazy": {
                  "type": "bool",
                  "id": 15,
                  "options": {
                    "default": false
                  }
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "weak": {
                  "type": "bool",
                  "id": 10,
                  "options": {
                    "default": false
                  }
                },
                "debugRedact": {
                  "type": "bool",
                  "id": 16,
                  "options": {
                    "default": false
                  }
                },
                "retention": {
                  "type": "OptionRetention",
                  "id": 17
                },
                "targets": {
                  "rule": "repeated",
                  "type": "OptionTargetType",
                  "id": 19
                },
                "editionDefaults": {
                  "rule": "repeated",
                  "type": "EditionDefault",
                  "id": 20
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 21
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  4,
                  4
                ],
                [
                  18,
                  18
                ]
              ],
              "nested": {
                "CType": {
                  "values": {
                    "STRING": 0,
                    "CORD": 1,
                    "STRING_PIECE": 2
                  }
                },
                "JSType": {
                  "values": {
                    "JS_NORMAL": 0,
                    "JS_STRING": 1,
                    "JS_NUMBER": 2
                  }
                },
                "OptionRetention": {
                  "values": {
                    "RETENTION_UNKNOWN": 0,
                    "RETENTION_RUNTIME": 1,
                    "RETENTION_SOURCE": 2
                  }
                },
                "OptionTargetType": {
                  "values": {
                    "TARGET_TYPE_UNKNOWN": 0,
                    "TARGET_TYPE_FILE": 1,
                    "TARGET_TYPE_EXTENSION_RANGE": 2,
                    "TARGET_TYPE_MESSAGE": 3,
                    "TARGET_TYPE_FIELD": 4,
                    "TARGET_TYPE_ONEOF": 5,
                    "TARGET_TYPE_ENUM": 6,
                    "TARGET_TYPE_ENUM_ENTRY": 7,
                    "TARGET_TYPE_SERVICE": 8,
                    "TARGET_TYPE_METHOD": 9
                  }
                },
                "EditionDefault": {
                  "fields": {
                    "edition": {
                      "type": "Edition",
                      "id": 3
                    },
                    "value": {
                      "type": "string",
                      "id": 2
                    }
                  }
                }
              }
            },
            "OneofOptions": {
              "edition": "proto2",
              "fields": {
                "features": {
                  "type": "FeatureSet",
                  "id": 1
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "EnumOptions": {
              "edition": "proto2",
              "fields": {
                "allowAlias": {
                  "type": "bool",
                  "id": 2
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "deprecatedLegacyJsonFieldConflicts": {
                  "type": "bool",
                  "id": 6,
                  "options": {
                    "deprecated": true
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 7
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  5,
                  5
                ]
              ]
            },
            "EnumValueOptions": {
              "edition": "proto2",
              "fields": {
                "deprecated": {
                  "type": "bool",
                  "id": 1,
                  "options": {
                    "default": false
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 2
                },
                "debugRedact": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "ServiceOptions": {
              "edition": "proto2",
              "fields": {
                "features": {
                  "type": "FeatureSet",
                  "id": 34
                },
                "deprecated": {
                  "type": "bool",
                  "id": 33,
                  "options": {
                    "default": false
                  }
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "MethodOptions": {
              "edition": "proto2",
              "fields": {
                "deprecated": {
                  "type": "bool",
                  "id": 33,
                  "options": {
                    "default": false
                  }
                },
                "idempotencyLevel": {
                  "type": "IdempotencyLevel",
                  "id": 34,
                  "options": {
                    "default": "IDEMPOTENCY_UNKNOWN"
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 35
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "nested": {
                "IdempotencyLevel": {
                  "values": {
                    "IDEMPOTENCY_UNKNOWN": 0,
                    "NO_SIDE_EFFECTS": 1,
                    "IDEMPOTENT": 2
                  }
                }
              }
            },
            "UninterpretedOption": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "rule": "repeated",
                  "type": "NamePart",
                  "id": 2
                },
                "identifierValue": {
                  "type": "string",
                  "id": 3
                },
                "positiveIntValue": {
                  "type": "uint64",
                  "id": 4
                },
                "negativeIntValue": {
                  "type": "int64",
                  "id": 5
                },
                "doubleValue": {
                  "type": "double",
                  "id": 6
                },
                "stringValue": {
                  "type": "bytes",
                  "id": 7
                },
                "aggregateValue": {
                  "type": "string",
                  "id": 8
                }
              },
              "nested": {
                "NamePart": {
                  "fields": {
                    "namePart": {
                      "rule": "required",
                      "type": "string",
                      "id": 1
                    },
                    "isExtension": {
                      "rule": "required",
                      "type": "bool",
                      "id": 2
                    }
                  }
                }
              }
            },
            "FeatureSet": {
              "edition": "proto2",
              "fields": {
                "fieldPresence": {
                  "type": "FieldPresence",
                  "id": 1,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_2023",
                    "edition_defaults.value": "EXPLICIT"
                  }
                },
                "enumType": {
                  "type": "EnumType",
                  "id": 2,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "OPEN"
                  }
                },
                "repeatedFieldEncoding": {
                  "type": "RepeatedFieldEncoding",
                  "id": 3,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "PACKED"
                  }
                },
                "utf8Validation": {
                  "type": "Utf8Validation",
                  "id": 4,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "VERIFY"
                  }
                },
                "messageEncoding": {
                  "type": "MessageEncoding",
                  "id": 5,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_PROTO2",
                    "edition_defaults.value": "LENGTH_PREFIXED"
                  }
                },
                "jsonFormat": {
                  "type": "JsonFormat",
                  "id": 6,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "ALLOW"
                  }
                }
              },
              "extensions": [
                [
                  1000,
                  1000
                ],
                [
                  1001,
                  1001
                ],
                [
                  1002,
                  1002
                ],
                [
                  9990,
                  9990
                ],
                [
                  9995,
                  9999
                ],
                [
                  10000,
                  10000
                ]
              ],
              "reserved": [
                [
                  999,
                  999
                ]
              ],
              "nested": {
                "FieldPresence": {
                  "values": {
                    "FIELD_PRESENCE_UNKNOWN": 0,
                    "EXPLICIT": 1,
                    "IMPLICIT": 2,
                    "LEGACY_REQUIRED": 3
                  }
                },
                "EnumType": {
                  "values": {
                    "ENUM_TYPE_UNKNOWN": 0,
                    "OPEN": 1,
                    "CLOSED": 2
                  }
                },
                "RepeatedFieldEncoding": {
                  "values": {
                    "REPEATED_FIELD_ENCODING_UNKNOWN": 0,
                    "PACKED": 1,
                    "EXPANDED": 2
                  }
                },
                "Utf8Validation": {
                  "values": {
                    "UTF8_VALIDATION_UNKNOWN": 0,
                    "VERIFY": 2,
                    "NONE": 3
                  }
                },
                "MessageEncoding": {
                  "values": {
                    "MESSAGE_ENCODING_UNKNOWN": 0,
                    "LENGTH_PREFIXED": 1,
                    "DELIMITED": 2
                  }
                },
                "JsonFormat": {
                  "values": {
                    "JSON_FORMAT_UNKNOWN": 0,
                    "ALLOW": 1,
                    "LEGACY_BEST_EFFORT": 2
                  }
                }
              }
            },
            "FeatureSetDefaults": {
              "edition": "proto2",
              "fields": {
                "defaults": {
                  "rule": "repeated",
                  "type": "FeatureSetEditionDefault",
                  "id": 1
                },
                "minimumEdition": {
                  "type": "Edition",
                  "id": 4
                },
                "maximumEdition": {
                  "type": "Edition",
                  "id": 5
                }
              },
              "nested": {
                "FeatureSetEditionDefault": {
                  "fields": {
                    "edition": {
                      "type": "Edition",
                      "id": 3
                    },
                    "features": {
                      "type": "FeatureSet",
                      "id": 2
                    }
                  }
                }
              }
            },
            "SourceCodeInfo": {
              "edition": "proto2",
              "fields": {
                "location": {
                  "rule": "repeated",
                  "type": "Location",
                  "id": 1
                }
              },
              "nested": {
                "Location": {
                  "fields": {
                    "path": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 1,
                      "options": {
                        "packed": true
                      }
                    },
                    "span": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 2,
                      "options": {
                        "packed": true
                      }
                    },
                    "leadingComments": {
                      "type": "string",
                      "id": 3
                    },
                    "trailingComments": {
                      "type": "string",
                      "id": 4
                    },
                    "leadingDetachedComments": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 6
                    }
                  }
                }
              }
            },
            "GeneratedCodeInfo": {
              "edition": "proto2",
              "fields": {
                "annotation": {
                  "rule": "repeated",
                  "type": "Annotation",
                  "id": 1
                }
              },
              "nested": {
                "Annotation": {
                  "fields": {
                    "path": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 1,
                      "options": {
                        "packed": true
                      }
                    },
                    "sourceFile": {
                      "type": "string",
                      "id": 2
                    },
                    "begin": {
                      "type": "int32",
                      "id": 3
                    },
                    "end": {
                      "type": "int32",
                      "id": 4
                    },
                    "semantic": {
                      "type": "Semantic",
                      "id": 5
                    }
                  },
                  "nested": {
                    "Semantic": {
                      "values": {
                        "NONE": 0,
                        "SET": 1,
                        "ALIAS": 2
                      }
                    }
                  }
                }
              }
            },
            "Duration": {
              "fields": {
                "seconds": {
                  "type": "int64",
                  "id": 1
                },
                "nanos": {
                  "type": "int32",
                  "id": 2
                }
              }
            },
            "Timestamp": {
              "fields": {
                "seconds": {
                  "type": "int64",
                  "id": 1
                },
                "nanos": {
                  "type": "int32",
                  "id": 2
                }
              }
            },
            "Any": {
              "fields": {
                "type_url": {
                  "type": "string",
                  "id": 1
                },
                "value": {
                  "type": "bytes",
                  "id": 2
                }
              }
            },
            "Empty": {
              "fields": {}
            },
            "FieldMask": {
              "fields": {
                "paths": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 1
                }
              }
            },
            "DoubleValue": {
              "fields": {
                "value": {
                  "type": "double",
                  "id": 1
                }
              }
            },
            "FloatValue": {
              "fields": {
                "value": {
                  "type": "float",
                  "id": 1
                }
              }
            },
            "Int64Value": {
              "fields": {
                "value": {
                  "type": "int64",
                  "id": 1
                }
              }
            },
            "UInt64Value": {
              "fields": {
                "value": {
                  "type": "uint64",
                  "id": 1
                }
              }
            },
            "Int32Value": {
              "fields": {
                "value": {
                  "type": "int32",
                  "id": 1
                }
              }
            },
            "UInt32Value": {
              "fields": {
                "value": {
                  "type": "uint32",
                  "id": 1
                }
              }
            },
            "BoolValue": {
              "fields": {
                "value": {
                  "type": "bool",
                  "id": 1
                }
              }
            },
            "StringValue": {
              "fields": {
                "value": {
                  "type": "string",
                  "id": 1
                }
              }
            },
            "BytesValue": {
              "fields": {
                "value": {
                  "type": "bytes",
                  "id": 1
                }
              }
            },
            "Struct": {
              "fields": {
                "fields": {
                  "keyType": "string",
                  "type": "Value",
                  "id": 1
                }
              }
            },
            "Value": {
              "oneofs": {
                "kind": {
                  "oneof": [
                    "nullValue",
                    "numberValue",
                    "stringValue",
                    "boolValue",
                    "structValue",
                    "listValue"
                  ]
                }
              },
              "fields": {
                "nullValue": {
                  "type": "NullValue",
                  "id": 1
                },
                "numberValue": {
                  "type": "double",
                  "id": 2
                },
                "stringValue": {
                  "type": "string",
                  "id": 3
                },
                "boolValue": {
                  "type": "bool",
                  "id": 4
                },
                "structValue": {
                  "type": "Struct",
                  "id": 5
                },
                "listValue": {
                  "type": "ListValue",
                  "id": 6
                }
              }
            },
            "NullValue": {
              "values": {
                "NULL_VALUE": 0
              }
            },
            "ListValue": {
              "fields": {
                "values": {
                  "rule": "repeated",
                  "type": "Value",
                  "id": 1
                }
              }
            }
          }
        },
        "rpc": {
          "options": {
            "cc_enable_arenas": true,
            "go_package": "google.golang.org/genproto/googleapis/rpc/status;status",
            "java_multiple_files": true,
            "java_outer_classname": "StatusProto",
            "java_package": "com.google.rpc",
            "objc_class_prefix": "RPC"
          },
          "nested": {
            "Status": {
              "fields": {
                "code": {
                  "type": "int32",
                  "id": 1
                },
                "message": {
                  "type": "string",
                  "id": 2
                },
                "details": {
                  "rule": "repeated",
                  "type": "google.protobuf.Any",
                  "id": 3
                }
              }
            }
          }
        },
        "longrunning": {
          "options": {
            "cc_enable_arenas": true,
            "csharp_namespace": "Google.LongRunning",
            "go_package": "cloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb",
            "java_multiple_files": true,
            "java_outer_classname": "OperationsProto",
            "java_package": "com.google.longrunning",
            "php_namespace": "Google\\LongRunning"
          },
          "nested": {
            "operationInfo": {
              "type": "google.longrunning.OperationInfo",
              "id": 1049,
              "extend": "google.protobuf.MethodOptions"
            },
            "Operations": {
              "options": {
                "(google.api.default_host)": "longrunning.googleapis.com"
              },
              "methods": {
                "ListOperations": {
                  "requestType": "ListOperationsRequest",
                  "responseType": "ListOperationsResponse",
                  "options": {
                    "(google.api.http).get": "/v1/{name=operations}",
                    "(google.api.method_signature)": "name,filter"
                  },
                  "parsedOptions": [
                    {
                      "(google.api.http)": {
                        "get": "/v1/{name=operations}"
                      }
                    },
                    {
                      "(google.api.method_signature)": "name,filter"
                    }
                  ]
                },
                "GetOperation": {
                  "requestType": "GetOperationRequest",
                  "responseType": "Operation",
                  "options": {
                    "(google.api.http).get": "/v1/{name=operations/**}",
                    "(google.api.method_signature)": "name"
                  },
                  "parsedOptions": [
                    {
                      "(google.api.http)": {
                        "get": "/v1/{name=operations/**}"
                      }
                    },
                    {
                      "(google.api.method_signature)": "name"
                    }
                  ]
                },
                "DeleteOperation": {
                  "requestType": "DeleteOperationRequest",
                  "responseType": "google.protobuf.Empty",
                  "options": {
                    "(google.api.http).delete": "/v1/{name=operations/**}",
                    "(google.api.method_signature)": "name"
                  },
                  "parsedOptions": [
                    {
                      "(google.api.http)": {
                        "delete": "/v1/{name=operations/**}"
                      }
                    },
                    {
                      "(google.api.method_signature)": "name"
                    }
                  ]
                },
                "CancelOperation": {
                  "requestType": "CancelOperationRequest",
                  "responseType": "google.protobuf.Empty",
                  "options": {
                    "(google.api.http).post": "/v1/{name=operations/**}:cancel",
                    "(google.api.http).body": "*",
                    "(google.api.method_signature)": "name"
                  },
                  "parsedOptions": [
                    {
                      "(google.api.http)": {
                        "post": "/v1/{name=operations/**}:cancel",
                        "body": "*"
                      }
                    },
                    {
                      "(google.api.method_signature)": "name"
                    }
                  ]
                },
                "WaitOperation": {
                  "requestType": "WaitOperationRequest",
                  "responseType": "Operation"
                }
              }
            },
            "Operation": {
              "oneofs": {
                "result": {
                  "oneof": [
                    "error",
                    "response"
                  ]
                }
              },
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "metadata": {
                  "type": "google.protobuf.Any",
                  "id": 2
                },
                "done": {
                  "type": "bool",
                  "id": 3
                },
                "error": {
                  "type": "google.rpc.Status",
                  "id": 4
                },
                "response": {
                  "type": "google.protobuf.Any",
                  "id": 5
                }
              }
            },
            "GetOperationRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                }
              }
            },
            "ListOperationsRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 4
                },
                "filter": {
                  "type": "string",
                  "id": 1
                },
                "pageSize": {
                  "type": "int32",
                  "id": 2
                },
                "pageToken": {
                  "type": "string",
                  "id": 3
                }
              }
            },
            "ListOperationsResponse": {
              "fields": {
                "operations": {
                  "rule": "repeated",
                  "type": "Operation",
                  "id": 1
                },
                "nextPageToken": {
                  "type": "string",
                  "id": 2
                }
              }
            },
            "CancelOperationRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                }
              }
            },
            "DeleteOperationRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                }
              }
            },
            "WaitOperationRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "timeout": {
                  "type": "google.protobuf.Duration",
                  "id": 2
                }
              }
            },
            "OperationInfo": {
              "fields": {
                "responseType": {
                  "type": "string",
                  "id": 1
                },
                "metadataType": {
                  "type": "string",
                  "id": 2
                }
              }
            }
          }
        },
        "type": {
          "options": {
            "cc_enable_arenas": true,
            "go_package": "google.golang.org/genproto/googleapis/type/date;date",
            "java_multiple_files": true,
            "java_outer_classname": "DateProto",
            "java_package": "com.google.type",
            "objc_class_prefix": "GTP"
          },
          "nested": {
            "Date": {
              "fields": {
                "year": {
                  "type": "int32",
                  "id": 1
                },
                "month": {
                  "type": "int32",
                  "id": 2
                },
                "day": {
                  "type": "int32",
                  "id": 3
                }
              }
            }
          }
        }
      }
    }
  }
}